0
的子类,我有相关的信号/槽使用Qt中的连接itemExpanded/C++如何使用QTreeWidgetItem
我已经使用QTreeWidget + QTreeWidgetItems写的应用程序。为了应用程序的需要,我必须将QTreeWidgetItem继承到MyQTreeWidgetItem以添加一些参数。
自从我QTreeWidgetItem类MyQTreeWidgetItem类移动,
connect(this, SIGNAL(itemExpanded(MyQTreeWidgetItem*)),
this, SLOT(onSubTreeDisplay(MyQTreeWidgetItem*)));
不工作了。
的问题是
QObject::connect: No such signal PulsTreeWidget::itemExpanded(MyQTreeWidgetItem*) in ../puls_connect/pulstreewidget.cpp:33
我认为这个问题是从itemExpanded期望QTreeWidgetItem而不是MyQTreeWidgetItem的事实来了。但是,如果我取代MyQTreeWidgetItem通过QTreeWidgetItem如
connect(this, SIGNAL(itemExpanded(QTreeWidgetItem*)),
this, SLOT(onSubTreeDisplay(MyQTreeWidgetItem*)));
运行抱怨信号/槽不具有相同的类型,这很正常。
我的项目是通过MyQTreeWidgetItem定义的,而不是QTreeWidgetItem,因为我有它的子类。
连接在QTreeWidget部分完成 任何想法?
感谢
谢谢。它是如何工作的?我收到QTreeWidgetItem *项目以及如何动态地投射它。抱歉问。我是C++中的newby/Qt – Seb 2015-03-03 05:21:05
即使您收到QTreeWidgetItem指针,如果您将MyTreeWidgetItem插入到树小部件中,它实际上也指向MyTreeWidgetItem对象。所以你可以动态地将QTreeWidgetItem指针转换为MyTreeWidgetItem指针。 – 2015-03-03 05:23:27