通过设计我的python脚本的GUI,它与PySerial一起用于实现一些串行接口函数,我想要显示一些读取源的参数。 因此,该GUI例如必须显示由参数volt_act表示的实际电压。 我以为我可以使用以下代码连接QLCDNumber lcdVoltage:
self.connect(self, QtCore.SIGNAL("selfVoltage"), self.lcdVoltage, QtCore.SLOT("display(int)"))
此时我想读取电压,我发出参数:
self.emit(QtCore.SIGNAL("selfVoltage"), volt_act)
但这不起作用。如何在发出参数时实时更新参数QLCDNumber?
答案 0 :(得分:2)
来自docs:
短路信号没有参数列表或 周围的括号。
短路信号只能连接到已有的插槽 用Python实现。它们无法连接到Qt插槽或 包含Qt插槽的Python callables。
如果您打算使用Qt插槽,则需要显式声明变量类型:
self.connect(self, QtCore.SIGNAL("selfVoltage(int)"), self.lcdVoltage, QtCore.SLOT("display(int)"))
和
self.emit(QtCore.SIGNAL("selfVoltage(int)"), volt_act)
但是,我真的建议你使用new style signals。
首先,您将信号定义为类变量:
voltage = QtCore.pyqtSignal(int)
然后连接它:
self.voltage.connect(self.lcdVoltage.display)
最后,你会发出:
self.voltage.emit(volt_act)