【问题标题】:Error subclassing QTreeWidget子类化 QTreeWidget 时出错
【发布时间】: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


【解决方案1】:

想通了。将名称从 treeWidget 更改为 myTreeWidget,一切正常。

【讨论】:

    猜你喜欢
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多