2014-11-06 80 views
0

我是PyQT的新手,并试图更好地掌握信号和插槽的工作方式。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? 

但我似乎无法找出我怎么可能修改,例如,另一个按钮(或更实际当按下“确定”按钮调用okClicked时,它会显示一个列表)。我对GUI的一般使用经验很少,所以如果这是完成这个任务的一个愚蠢的方法,请告诉我。

任何帮助表示赞赏。

回答

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()) 
+0

噢哇,简直蟒蛇。我在想什么......感谢一堆! – JBires 2014-11-07 04:49:55