【发布时间】:2012-02-14 04:03:21
【问题描述】:
我在尝试继承 QTreeWidget 时遇到一个神秘错误。以下是相关文件中的代码。在 QtDesigner 中,我将 QTreeWidget 提升为 treeWidget,但出现以下错误:
错误 1 错误 C2061:语法错误:标识符 'treeWidget' Visual Studio 2010\Projects\hw2\QTOpenGL\GeneratedFiles\ui_opengldemo.h 72 1 QTOpenGL
我被告知不要编辑 ui_ 文件中的代码,所以我假设这个问题可以在不进入那里的情况下解决。有任何想法吗?下面的代码是否提供了足够的信息来解决这个问题?谢谢。
**treeWidget.h:**
#ifndef TREEWIDGET
#define TREEWIDGET
#include <QTreeWidget>
#include "gNode.h"
class treeWidget :
public QTreeWidget
{
Q_OBJECT
public:
treeWidget(QWidget*);
~treeWidget(void);
public slots:
void topLevelItem(gNode* node);
};
#endif
**treeWidget.cpp**
#include "treeWidget.h"
treeWidget::treeWidget(QWidget* parent) : QTreeWidget(parent)
{
}
treeWidget::~treeWidget(void)
{
}
void treeWidget::topLevelItem(gNode* node){
addTopLevelItem(node);
}
【问题讨论】:
-
你能发布确切的错误信息吗?
-
我做到了。这几乎就是它所说的一切。此消息逐字重复三次,引用相同的行号。 1>C:\Users\\Documents\Visual Studio 2010\Projects\hw2\QTOpenGL\GeneratedFiles\ui_opengldemo.h(72):错误 C2061:语法错误:标识符 'treeWidget' 1> opengldemo.cpp
-
ui_头文件通常来自使用 Qt 设计器制作 GUI。您在 GUI 中引用 treeWidget,所以问题可能出在此处。 -
在设计器中推广QTreeWidget的时候,你给
treeWidget.h的正确路径了吗? -
topLevelItem 不是虚拟的。
标签: c++ visual-studio-2010 qt qtreewidget