gpt4 book ai didi

python - 如何使用 PyQt 实现 QLCDNumbers?

转载 作者:行者123 更新时间:2023-12-01 05:49:36 25 4
gpt4 key购买 nike

通过为我的 python 脚本设计一个 GUI,该脚本与 PySerial 一起使用来实现一些串行接口(interface)函数,我希望显示一些读出源的参数。因此,这个 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,其中参数在发出时实时更新?

最佳答案

来自docs :

Short-circuit signals do not have a list of arguments or the surrounding parentheses.

Short-circuit signals may only be connected to slots that have been implemented in Python. They cannot be connected to Qt slots or the Python callables that wrap Qt slots.

如果您打算使用 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)

关于python - 如何使用 PyQt 实现 QLCDNumbers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14872223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com