我不知道您是从哪里知道“
PyQt5改变了整个“将连接按钮插入插槽”的工作原理”的想法,但这完全是完全错误的。从官方PyQt文档中可以很容易地看出,没有任何变化:
- PyQt4信号和插槽文档
- PyQt5信号和插槽文档
但是,即使不阅读任何文档,也很容易为自己进行测试。例如,在以下脚本中,只需在前两行切换注释,它将以相同的方式运行:
# from PyQt5.QtWidgets import (from PyQt4.QtGui import ( QApplication, QWidget, QVBoxLayout, QPushButton, QLabel, )class Window(QWidget): def __init__(self): super(Window, self).__init__() self.button = QPushButton('Test', self) self.label = QLabel(self) self.button.clicked.connect(self.handleButton) layout = QVBoxLayout(self) layout.addWidget(self.label) layout.addWidget(self.button) def handleButton(self): self.label.setText('Button Clicked!')if __name__ == '__main__': import sys app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
至于其他要点:在您当前的知识状态下,我可以说您可以放心地忽略
connectSlotsByName和
pyqtSlot。尽管它们有其用途(有关详细信息,请参见上面的文档),但几乎没有真正需要在95%的应用程序中使用它们。
对于您的特定情况,语法很简单:
self.testButton.clicked.connect(self.change_text) ...def change_text(self): self.ui.testLabel.setText("Button Clicked!")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)