嗨,我有一个简单的 GUI,如下所示,带有 2 个按钮。我编写了一个方法,一旦单击按钮,就会更改按钮上的文本。我想让该方法模块化和通用,以便将该方法应用于任何按钮而无需重写。在下面的示例中,如何在不为其定义新方法的情况下将 printWow() 方法应用于按钮 2?
import sys
from PyQt4.Qt import *
class MainWindow(QMainWindow):
def __init__(self, *args):
QMainWindow.__init__(self, *args)
self.cw = QWidget(self)
self.setCentralWidget(self.cw)
self.btn1 = QPushButton("Click me", self.cw)
self.btn1.setGeometry(QRect(50, 50, 100, 30))
self.btn1.clicked.connect(self.printWow)
self.btn2 = QPushButton("Click me", self.cw)
self.btn2.setGeometry(QRect(50, 20, 100, 30))
self.btn2.clicked.connect(self.printWow)
def printWow(self):
self.btn1.setText("WoW")
if __name__ == "__main__":
app = QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())