难以链接 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&lt;QTreeWidgetItem *&gt;(); 【参考方案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 文件的主要内容,如果未能解决你的问题,请参考以下文章

开发 pyqt4 树小部件

html TreeFam基因树小部件

Qt入门教程数据模型篇模型/视图教程

Qt入门教程数据模型篇模型/视图教程

文本小部件的 SWT 拖放支持

树视图小部件中的自定义项目