您需要使用您的 UI 设置对话框.ui
文件。 Qtuic
编译器从你的文件中生成一个头文件.ui
您需要包含在代码中的文件。假设你的.ui
文件被称为about.ui
,并且该对话框被命名为About
, then uic
创建文件ui_about.h
,包含一个类Ui_About
。设置 UI 的方法有多种,最简单的方法是
#include "ui_about.h"
...
void MainWindow::on_actionAbout_triggered()
{
about = new QDialog(0,0);
Ui_About aboutUi;
aboutUi.setupUi(about);
about->show();
}
更好的方法是使用继承,因为它更好地封装了对话框,以便您可以在子类中实现特定于特定对话框的任何功能:
关于Dialog.h:
#include <QDialog>
#include "ui_about.h"
class AboutDialog : public QDialog, public Ui::About {
Q_OBJECT
public:
AboutDialog( QWidget * parent = 0);
};
关于Dialog.cpp:
AboutDialog::AboutDialog( QWidget * parent) : QDialog(parent) {
setupUi(this);
// perform additional setup here ...
}
Usage:
#include "AboutDialog.h"
...
void MainWindow::on_actionAbout_triggered() {
about = new AboutDialog(this);
about->show();
}
无论如何,重要的代码是调用setupUi()
method.
BTW:上面代码中的对话框是非模式的。要显示模式对话框,请设置windowModality
对话框的标志Qt::ApplicationModal
or use exec()
代替show()
.