メニューバーの追加を行う。メニューバーとは上の図のように、 ウィンドウの上部に取り付けられたメニューの事である。
サンプルの2という名前のフォルダに移動すると、以下の内容のmain.cppが得られる。
#include<qapplication.h> #include<qwidget.h> #include<qmenubar.h> #include<qpopupmenu.h> int main( int argc, char **argv ){ QApplication a( argc, argv ); QWidget mainWindow(0,"mainwindow"); QMenuBar menu(&mainWindow,"menu"); QPopupMenu filemenu(&mainWindow ,"popup"); filemenu.insertItem("&Open"); filemenu.insertItem("&Save"); filemenu.insertSeparator(); filemenu.insertItem("&Quit", qApp, SLOT(quit())); menu.insertItem("&File", &filemenu); a.setMainWidget(&mainWindow ); mainWindow.show(); return a.exec(); }
前回からの変更、追加点は強調表示して示した。
includeしたクラスは次の通りである。
filemenu.insertItem("&Open"); filemenu.insertItem("&Save"); filemenu.insertSeparator(); filemenu.insertItem("&Quit", qApp, SLOT(quit()));
”&”をつけると、&の直後のキーとAltキーで操作出来るようになる。
また、insertItem関数は、
insertItem("キャプション", どのオブジェクトの, SLOT(どのスロットを呼ぶか), ショートカットキー);
のように、使う。
最後の行は、qAppのquitスロットを呼ぶように設定している。
qAppは、Qtで定義されたQApplicationオブジェクトへのポインタであり、
アプリケーションを終了する関数を呼んでいる。
menu.insertItem("&File", &filemenu);
ここで、定義したポップアップメニューをメニューバーに追加している。
上のようにメニューが表示された。