好的,几乎所有易于理解的教程/用人类语言编写的文档都是针对PyQt4的。但是,PyQt5改变了整个“连接按钮到插槽”的工作方式,我仍然不知道如何做到这一点。
我在QtDesigner中快速创建了一个GUI,并且有一个QPushButton和一个标签。当我单击按钮时,我想要更改标签上的文本。在C++中,在QtDesigner中连接两者很容易。但是我必须使用Python编写所有内容。
我使用pyuic5将.ui文件转换为.py文件。在那里,在Ui_MainWindow类中,我可以看到setupUi方法,它将self.button初始化如下:
self.testButton = QtWidgets.QPushButton(self.centralWidget)
self.testButton.setObjectName("newGame")
然后,在方法结束时,
QtCore.QMetaObject.connectSlotsByName(MainWindow)
被称为,但说实话,我无法弄清它做什么以及连接到哪里。
在主类中,继承自QMainWindow,我编写了以下方法
@pyqtSlot(name='change')
def change_text(self):
self.ui.testLabel.setText("Button Clicked!")
我无法弄清如何将按钮信号连接到那个槽上。在pyqt4中,我可以通过button.clicked.connect(self.change_text)手动设置它,但是我发现,PyQt5已经弃用和丢弃了这样简单的设置。
请问,有谁能帮我解决这个问题吗?