上のように、ユーザーに何らかの情報を表示し、
何らかの情報を得るためのウィンドウをダイアログという。
この章では、プログラムのバージョン情報と簡単な説明のダイアログと、
Qtについての説明を表示するダイアログを表示するようにする。
サンプルの5という名前のフォルダの中に、以下の内容のファイルがある。
Q_OBJECT
独自でシグナル/スロットを定義する場合、
この記述が必要である。”;”は付けてはならない。
この記述を書くことによって、MOC(Meta Object Compiler)が
シグナル/スロットを使えるようにファイルを書き換え、新しいファイル
(moc_ファイル名)を書き出してくれる。
private slots: void about(); void aboutQt();
スロットの定義は上のように行う。
_helpmenu->insertItem("&About", this, SLOT(about())); _helpmenu->insertItem("About Qt", this, SLOT(aboutQt()));
ヘルプのメニューから呼び出す。特に説明は不要であろう。
void MainWindow::about(){ QMessageBox::about( this, "About this program", "This is a program for tutorial.\n" "Copyright Dai Kaibazawa" ); } void MainWindow::aboutQt(){ QMessageBox::aboutQt(this, "About Qt"); }
簡単な情報ダイアログを表示させるためにQMessageBoxクラスの関数を利用した。
about関数は、
about( QWidget * parent, const QString & caption, const QString & text )
のように引数を取る。
ここでは、captionがAbout this programで、
testが"This is a program for tutorial.\n""Copyright Dai Kaibazawa"
である。改行コード(\n)を用いて2行表示した。
aboutQt関数はQtに付いての情報を表示するダイアログである。
上のようなダイアログが表示された。