您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

PyQt将信号连接到多个插槽

PyQt将信号连接到多个插槽

您的操作方式很好。如果您要做的事情很多,则可以连接到一个为您处理所有事情的新功能

我注意到在您连接的getValue函数中,您直接从对象中获得了价值。您是否知道该值与valueChanged(int)信号一起作为参数传递?如果将getValue函数更改为接受附加参数,则无需直接从对象获取值。当然,您可以getValue一起删除函数,并在helper函数中发布打印语句。

self.connect(self.dial, SIGNAL("valueChanged(int)"), self.dial_value_changed)
self.connect(self.spin@R_982_2419@, SIGNAL("valueChanged(int)"),self.spin@R_982_2419@_value_changed)

def dial_value_changed(self, value):
    self.spin@R_982_2419@.setValue(value)
    self.getValue_dial(value)

def spin@R_982_2419@_value_changed(self, value):
    self.dial.setValue(value)
    self.getValue_spin@R_982_2419@(value)

def getValue_dial(self, value):
        print value

def getValue_spin@R_982_2419@(self, value):
        print value

同样,这也取决于偏好,信号和插槽都有一种新样式,可以使代码更易于阅读。它将改变

self.connect(self.dial, SIGNAL("valueChanged(int)"), self.dial_value_changed)
self.connect(self.spin@R_982_2419@, SIGNAL("valueChanged(int)"),self.spin@R_982_2419@_value_changed)

以上行

self.dial.valueChanged.connect(self.dial_value_changed)
self.spin@R_982_2419@.valueChanged.connect(self.spin@R_982_2419@_value_changed)

但是对于最初的问题以及您正在做的两件事,我将信号连接两次而不是具有辅助功能

其他 2022/1/1 18:41:02 有354人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶