难以链接 ui 树小部件和 header/cpp 文件
Posted
技术标签:
【中文标题】难以链接 ui 树小部件和 header/cpp 文件【英文标题】:Difficult linking ui tree widget and header/cpp files 【发布时间】:2014-02-21 00:07:53 【问题描述】:我在 QTCreator 中使用 OpenGL。
我在链接我的树小部件(在 UI 中)和相关的头文件/cpp 文件时遇到了困难。我很确定我的标题声明是正确的。执行链接时我需要做些什么特别的事情吗?
树小部件已被提升为 myTree
#ifndef MYTREE_H
#define MYTREE_H
#include <QTreeWidget>
class myTree: public QTreeWidget
Q_OBJECT
public:
myTree(QWidget*);
myTree();
~myTree();
public slots:
void receiveroot(QTreeWidgetItem*);
;
#endif
【问题讨论】:
你遇到了什么错误?Q_DECLARE_METATYPE(QTreeWidgetItem *)
qRegisterMetaType<QTreeWidgetItem *>();
【参考方案1】:
将此文件添加到 .pro 文件的 SOURCES 列表后,您必须在项目上重新运行 qmake,然后构建它。您的问题很可能是由于 moc 未在此文件上运行。你的默认构造函数是不必要的,应该有一个默认的nullptr
参数给父:
public:
myTree(QWidget* parent = nullptr);
我猜你的receiveRoot
方法看起来有点像下面?
Q_SLOT void receiveRoot(QTreeWidgetItem * item)
QModelIndex index = indexFromItem(item);
setRootIndex(index);
【讨论】:
以上是关于难以链接 ui 树小部件和 header/cpp 文件的主要内容,如果未能解决你的问题,请参考以下文章