您的操作方式很好。如果您要做的事情很多,则可以连接到一个为您处理所有事情的新功能。
我注意到在您连接的
getValue函数中,您直接从对象中获得了价值。您是否知道该值与
valueChanged(int)信号一起作为参数传递?如果将
getValue函数更改为接受附加参数,则无需直接从对象获取值。当然,您可以
getValue一起删除该函数,并在helper函数中发布打印语句。
self.connect(self.dial, SIGNAL("valueChanged(int)"), self.dial_value_changed)self.connect(self.spinbox, SIGNAL("valueChanged(int)"),self.spinbox_value_changed)def dial_value_changed(self, value): self.spinbox.setValue(value) self.getValue_dial(value)def spinbox_value_changed(self, value): self.dial.setValue(value) self.getValue_spinbox(value)def getValue_dial(self, value): print valuedef getValue_spinbox(self, value): print value同样,这也取决于偏好,信号和插槽都有一种新样式,可以使代码更易于阅读。它将改变
self.connect(self.dial, SIGNAL("valueChanged(int)"), self.dial_value_changed)self.connect(self.spinbox, SIGNAL("valueChanged(int)"),self.spinbox_value_changed)以上行
self.dial.valueChanged.connect(self.dial_value_changed)self.spinbox.valueChanged.connect(self.spinbox_value_changed)
但是对于最初的问题以及您正在做的两件事,我将信号连接两次而不是具有辅助功能。



