PyQT使用按钮小部件修改网格中的其他小部件

时间:2014-11-06 21:10:17

标签: python user-interface pyqt pyqt4

我是PyQT的新手,我正试图更加深入地掌握信号和插槽的工作原理。

我知道我可以做这样的事情(假设存在其他样板)

def initUI(self):
    okButton = QtGui.QPushButton("OK")
    okButton.clicked.connect(self.okClicked)

    cancelButton = QtGui.QPushButton("Cancel")

    grid = QtGui.QGridLayout()
    grid.addWidget(okButton, 1, 0)
    grid.addWidget(cancelButton, 2, 0)

    self.setLayout(grid)

    self.setGeometry(300, 300, 300, 150)
    self.setWindowTitle('Testing')
    self.show()

def okClicked(self):
    #How can I modify the 'cancel' button here?

但是当我从推动" OK"来调用okClicked时,我似乎无法弄清楚如何修改,例如,另一个按钮(或更实际的列表)。按钮。我对GUI的总体经验很少,所以如果这是完成这项任务的愚蠢方式,请告诉我。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

只需保存对您感兴趣的小部件的引用:

def initUI(self):
    self.okButton = QtGui.QPushButton("OK")
    self.okButton.clicked.connect(self.okClicked)
    self.cancelButton = QtGui.QPushButton("Cancel")
    ...

def okClicked(self):
    print(self.cancelButton.text())