gpt4 book ai didi

c++ - ui上的qt c++神秘的不完整类类型错误

转载 作者:行者123 更新时间:2023-11-28 05:38:49 25 4
gpt4 key购买 nike

我为多窗口 qt 项目设置了框架。它编译的 ans 看起来不错,所以我开始添加我所有的 gui 元素等。现在,突然之间,我的一扇 window 坏了。特别是,我在 header 中的这一部分遇到了一些问题

namespace Ui {
class VideoPanel;
} ...

private:

Ui::VideoPanel *ui;

以及cpp文件中对应的部分:

VideoPanel::VideoPanel(QWidget *parent) :
QWidget(parent),
ui(new Ui::VideoPanel)

{
ui->setupUi(this); //

}

我得到的错误是

Error   1   error C2512: 'Ui::VideoPanel' : no appropriate default constructor available    

ui(new Ui::VideoPanel) 行上。

我已经看到,如果您不包含所有正确的 Qt gui header ,就会发生这种情况,所以我从我的代码中删除了除构造函数和析构函数之外的所有内容。

全小时:

#ifndef VIDEOPANEL_H
#define VIDEOPANEL_H

#include <QtWidgets>
#include <QWidget>

namespace Ui {
class VideoPanel;
}

class VideoPanel : public QWidget
{
Q_OBJECT

public:
VideoPanel(QWidget *parent = 0);
~VideoPanel();

private slots:

private:

Ui::VideoPanel *ui;

};

#endif // VIDEOPANEL_H

完整的 cpp:

#include "videopanel.h"
#include "ui_videopanel.h"

VideoPanel::VideoPanel(QWidget *parent) :
QWidget(parent),
ui(new Ui::VideoPanel)

{
ui->setupUi(this); //

}

VideoPanel::~VideoPanel()
{

}

最佳答案

你改变了你类(class)的名字,但是.ui文件的 <class> 中似乎有旧名称标签。您必须在那里更改名称,以便 UIC 生成与您的新名称兼容的头文件。

如果您使用的是 Qt Creator,您可以打开 ui在设计器中文件,并更改 objectName property 到你的新类名,之后你可能需要做一个干净的构建。 enter image description here

关于c++ - ui上的qt c++神秘的不完整类类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com