pyqt信号和槽应用举例

第一篇手写随笔。

项目的部分代码:

在子线程中改变主窗体的标签。

class MyForm(QDialog):
def __init__(self, parent=None):
  self.configBox = MyConfigForm()
  #configBox为另一个类的实例,连接另一个类,singnal()自己理解为给信号定义一个名称。self.set_begin_with是一个方法在这个方法中修改标签。
  self.connect(self.configBox, SIGNAL("set_begin_with"), self.set_begin_with)
  
 
在MyConfigForm类中的任意一个方法中。
def set_begin_with_SNorMAC(self):
testconfig = TestConf()

if(self.ui.radioButton_7.isChecked()):
testconfig.set_begin_SN()
# self.frm_ui.label.setText(u"SN:")
self.emit(SIGNAL("set_begin_with"))#发送名称为set_begin_with 的信号、
else:
testconfig.set_beging_MAC()
# self.frm_ui.label.setText(u"MAC")
self.emit(SIGNAL("set_begin_with"))

信号和槽理解为两步:

1  在主类中连接另一个类的实例。并定义一个信号的名称。以及信号触发后执行的方法。
2 在另一个类中只要发送这个信号。主类就可以接受到这个信号并且触发这个信号然后执行方法。

正在学习中,有什么错误的地方欢迎指正。谢谢
原文地址:https://www.cnblogs.com/zhangkaikai/p/5984526.html