ファイルから取得した UI を使用してダイアログをセットアップする必要があり.ui
ます。Qtコンパイラは、コードに含める必要があるuic
ファイルからヘッダー ファイルを生成します。ファイルが呼び出され、ダイアログの名前が であると.ui
仮定すると、クラスを含むファイルが作成されます。UI を設定するにはさまざまな方法がありますが、できる限り簡単に行うことができます。.ui
about.ui
About
uic
ui_about.h
Ui_About
#include "ui_about.h"
...
void MainWindow::on_actionAbout_triggered()
{
about = new QDialog(0,0);
Ui_About aboutUi;
aboutUi.setupUi(about);
about->show();
}
サブクラス内の特定のダイアログに固有の機能を実装できるように、ダイアログをより適切にカプセル化するため、継承を使用することをお勧めします。
AboutDialog.h:
#include <QDialog>
#include "ui_about.h"
class AboutDialog : public QDialog, public Ui::About {
Q_OBJECT
public:
AboutDialog( QWidget * parent = 0);
};
AboutDialog.cpp:
AboutDialog::AboutDialog( QWidget * parent) : QDialog(parent) {
setupUi(this);
// perform additional setup here ...
}
使用法:
#include "AboutDialog.h"
...
void MainWindow::on_actionAbout_triggered() {
about = new AboutDialog(this);
about->show();
}
いずれにせよ、重要なコードはsetupUi()
メソッドを呼び出すことです。
ところで:上記のコードのダイアログは非モーダルです。モーダル ダイアログを表示するにwindowModality
は、ダイアログのフラグを に設定するか、代わりに をQt::ApplicationModal
使用します。exec()
show()