有没有一种方法可以从pyqt4中的类方法创建信号,而不是总是使用实例方法?在
我有一个包装类,它包装并存储QLineEdit和QCheckBox组合之间的状态。该类将QLineEdit中的所有值相加到一个类变量中。如果未选中QCheckBox,则关联行编辑的值将从总计中扣除。如果用户编辑QLineEdit,则将扣除旧值并添加新值。我希望每次它从类级别更改时都发出更新的值。在
现在我要做的是传入一个QLineEdit实例,将值转储到该实例中,然后通过所有包装器实例将其连接起来。在
我想做的是让下面的代码片段工作。在
QtCore.QObject.connect(Wrapper,Wrapper.sum_values_signal, line_edit_instance.setText)
但事实并非如此。以下是我的包装类以供参考:
^{pr2}$
为了在类中定义自定义信号,需要使用pyqtSignal工厂。下面是一个简单的例子:
请注意,它使用了new style signals,这使得实现非常漂亮和直接。在
编辑:你应该这样连接信号:
^{pr2}$那么您的代码可能会失败,因为当QLineEdit为空时,您没有处理
float(line_edit.text())
上的ValueError
。在此外,程序中肯定存在一些功能问题,本质上与您处理}的方式有关。您还可以考虑去掉
sum_values
和{sum_value
class属性,因为它似乎是错误的设计选择。在编辑:顺便问一下,这就是你要做的吗?在
相关问题 更多 >
编程相关推荐