Tag: qt signals

循环中的QtCore.QObject.connect只影响最后一个实例

我有一个循环。 我创build了一个QCheckBox并把它放在一个QTableWidget单元格中,一切正常。 在循环的每一步中,我都调用了myslot SLOT的connect函数,但只应用了最后一个QCheckBox实例。 我GOOGLE了很多,发现很多人有我的问题。 我已经应用了他们的解决scheme for row in xrange(len(uniqueFields)): instance = QtGui.QCheckBox(uniqueFields[row], findInstance.tableWidget) print QtCore.QObject.connect(instance, QtCore.SIGNAL(_fromUtf8("stateChanged (int)")), lambda: findInstance.projectsInstance.myslot( "TWCH", findInstance, instance.text(), instance.checkState(), instance)) findInstance.tableWidget.setRowCount(findInstance.tableWidget.rowCount() + 1) findInstance.tableWidget.setCellWidget(row, 0, instance) 注意:我的connect函数返回True 。 如何在枚举所有instances的循环中创buildconnect函数?

在接口类中声明抽象信号

当实现类已经从QObject / QWidget中被驱动出来时,如何在抽象类/接口中声明一个Qt信号? class IEmitSomething { public: // this should be the signal known to others virtual void someThingHappened() = 0; } class ImplementEmitterOfSomething : public QWidget, public IEmitSomething { // signal implementation should be generated here signals: void someThingHappended(); }