gpt4 book ai didi

python - 圆形 QGraphicsView

转载 作者:行者123 更新时间:2023-12-01 02:55:21 26 4
gpt4 key购买 nike

我正在 PyQt 中使用 QGraphicsView 构建一个 GUI,它将显示互连项目的大型网络,并且我希望能够叠加一个较小的门户来显示网络的远处部分 - 有点像“画中画” “之类的事情。这本身并不是问题,因为我可以添加第二个 QGraphicsView 并将其设置为显示同一场景的不同部分。

诀窍是,我希望插图 View 是圆形的。有谁知道如何通过子类化或其他一些技巧将 QGraphicsView 的形状更改为矩形以外的形状?非常感谢!

最佳答案

您必须使用setMask函数并向其传递QRegion:

示例:

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

import sys


if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.resize(430, 460)
lay = QVBoxLayout(w)
view = QGraphicsView()
view.resize(400, 400)
region = QRegion(view.rect(), QRegion.Ellipse)
view.setMask(region)
lay.addWidget(view)
btn = QPushButton(w)
lay.addWidget(btn)
w.show()
sys.exit(app.exec_())

enter image description here

关于python - 圆形 QGraphicsView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com