1
在Qt設計師,我有我提升到一個自定義類名爲查看自定義窗口小部件graphicsView:PyQt設計師提升的小部件 - 對頂級對象的引用?
注意,其父是horizontalLayout。從pyuic相應的代碼如下所示:
class Ui_panelFill(object):
def setupUi(self, panelFill):
panelFill.setObjectName("panelFill")
panelFill.resize(1031, 702)
self.centralwidget = QtWidgets.QWidget(panelFill)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(20, 20, 1001, 631))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.graphicsView = View(self.horizontalLayoutWidget)
self.graphicsView.setObjectName("graphicsView")
...
程序的膽量,如所有重要的變量和方法,是在一個名爲panelFill頂層類。
class panelFill(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
uic.loadUi("panelFill.ui",self)
self.vertices=[[0,0],[0,120],[240,120],[240,0]]
...
如何從View類的方法引用頂點變量?我希望像self.parent.vertices這樣的東西,但可惜父母不是panelFill對象,它是horizontalLayout。是否有像self.superduper()。頂點到頂層父對象的屬性而不是直接父對象?
謝謝,我剛剛發現在另一個類似的問題。所以在視圖__init__我做self.top = self.window()然後使引用像self.top.vertices –