我正在重构一些使用旧样式信号和插槽的代码,它所做的一件事就是将内置信号作为字符串(例如,signalName=“clicked()”)传递给实际连接信号和插槽的另一个函数。E、 g:
self.connect(widget, QtCore.SIGNAL(signalName), slot)
这很好。问题是,转换为新的信号和插槽(信号不是作为参数传递)会使这一问题更加复杂。在新的信号和插槽中,上述内容将是类似的:
^{pr2}$其中^{cd1>}是有效的。:)我有很多事情要做,不用^{{cd2>}就可以工作:
^{pr3}$ ^{pr4}$当然还有eval,它实际上起作用:
fullCommand="widget." + signalName + ".connect(slot)"
eval(fullCommand)
但是它使用^{cd2>,这有点皱眉。有没有更好的方法将这种代码转换成新的样式信号和插槽,而不使用^{{cd2>}?
注意,我试图将原始代码转换为新样式的信号和插槽,如下所示: https://github.com/ghosert/VimProject/blob/master/pyqt/book_samples/chap06/imagechanger.pyw
这是萨默菲尔德关于Qt编程的书的第6章。
相关问题:
这个怎么样?在
您可能需要预先添加
if hasattr(...)
检查,以确保信号确实存在。在相关问题 更多 >
编程相关推荐