PAGER : トップ /情報ダイアログを呼ぶ

情報ダイアログを呼ぶ

ダイアログ

上のように、ユーザーに何らかの情報を表示し、 何らかの情報を得るためのウィンドウをダイアログという。
この章では、プログラムのバージョン情報と簡単な説明のダイアログと、 Qtについての説明を表示するダイアログを表示するようにする。

ソース

サンプルの5という名前のフォルダの中に、以下の内容のファイルがある。

mainwindow.h
プログラムについて、Qtについて、の2つの ダイアログを呼び出すスロットを定義した。
mainwindow.cpp
そのダイアログを実装した。

解説

シグナル/スロットを仕様するために

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に付いての情報を表示するダイアログである。

結果

ダイアログ
上のようなダイアログが表示された。

PAGER : トップ /情報ダイアログを呼ぶ加