我自己写了类TreeWidget和类TreeItem,分别继承了QTreeWidget和QTreeWidgetItem,然后在类TreeWidget的构造函数中加入了
connect( this, SIGNAL( itemClicked(QTreeWidgetItem*,int),this,SLOT(selectItem( QTreeWidgetItem*,int) ) ),运行时候发现itemClicked没有起到作用?求解。
是和继承有关系吗?还是我connect表达的有什么问题?
------解决方案--------------------
这样写确实可以解决你所说的问题。但是,真正的原因是,不能在构造函数里connect signals & slots,更进一步说,是因为你在构造函数里用了 this 指针。构造函数里对象还没有构造完成,这个时候是不能够使用this指针的。
------解决方案--------------------
构造函数里当然可以使用this啊,也可以connect,楼主之前的connect失败,可能是其他问题。
------解决方案--------------------
同意楼上,改成Qt5的函数指针肯定没问题,但这个写法本身应该也是可以的,失败应该是其它原因,可以debug一下,包括connect返回的值,看是否连接成功了。