我有一个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();
}
答案 0 :(得分:3)
应该是这样的:
HomePage::HomePage(QMainWindow* window) : QWidget(parent)
{
setupUi(this);
}
你在父母那里打电话给setupUi
。
如果您要使用信号和插槽,我也会添加Q_OBJECT宏。
class HomePage : public QWidget, public Ui::HomePage
{
Q_OBJECT
public:
HomePage(QMainWindow* window);
};
另外,我会在show
和HomePage
上致电QMainWindow
:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow *window = new QMainWindow();
HomePage homepage(window);
homepage.show();
window->show();
return app.exec();
}