2014-02-21 63 views
0

我在QTCreator中使用OpenGl。难以链接UI树部件和头文件/ CPP文件

我很难链接我的树部件(在UI中)和相关的头文件/ cpp文件。我很确定我的头文件声明是正确的。我需要做什么来执行链接?

树部件已添加到在.pro文件的源列表此文件后已晋升为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 
+2

你会得到什么错误? – Matthew

+0

'Q_DECLARE_METATYPE(QTreeWidgetItem *)''qRegisterMetaType ();' –

回答

0

,你必须重新运行该项目QMAKE,然后生成它。你的问题很可能是由于moc没有在这个文件上运行。你的默认构造函数是不必要的,应该给家长一个默认nullptr参数:

public: 
    myTree(QWidget* parent = nullptr); 

我相信你receiveRoot方法看起来有点像下面?

Q_SLOT void receiveRoot(QTreeWidgetItem * item) { 
    QModelIndex index = indexFromItem(item); 
    setRootIndex(index); 
}