gpt4 book ai didi

c++ - Qt子类化一个ui表单显示一个空白窗口

转载 作者:行者123 更新时间:2023-11-30 02:22:12 25 4
gpt4 key购买 nike

我有一个 qt .ui 表单,我正在尝试使用他们网站上描述的子类化方法在程序中使用它。但是,当我运行该程序时,我只看到一个空窗口。

子类头:

#ifndef HOMEPAGE_H
#define HOMEPAGE_H
#include "ui_homepage.h"

class HomePage : public QWidget, public Ui::HomePage
{
public:
HomePage(QMainWindow* window);
};

#endif // HOMEPAGE_H

子类cpp文件:

#include "homepage.h"

HomePage::HomePage(QMainWindow* window)
{
setupUi(window);
}

程序文件:

#include <QApplication>
#include "homepage.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QMainWindow *window = new QMainWindow();

HomePage homepage(window);
homepage.show();

return app.exec();
}

最佳答案

应该是这样的:

HomePage::HomePage(QMainWindow* window) : QWidget(parent)
{
setupUi(this);
}

您在父级上调用 setupUi

如果您要使用信号和槽,我也会添加 Q_OBJECT 宏。

class HomePage : public QWidget, public Ui::HomePage
{
Q_OBJECT
public:
HomePage(QMainWindow* window);
};

另外,我会在 HomePageQMainWindow 上调用 show:

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QMainWindow *window = new QMainWindow();

HomePage homepage(window);
homepage.show();
window->show();

return app.exec();
}

关于c++ - Qt子类化一个ui表单显示一个空白窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582186/

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