1. C + + GUI QT4 Programming Chapter Three, add menu.
2. Mainwindow.h
#ifndef Mainwindow_h#defineMainwindow_h#include<QMainWindow>classQmenu;classqaction;classMainWindow: Publicqmainwindow{Q_object Public: MainWindow (); Private: /*Menu*/Qmenu*Filemenu; Qmenu*Editmenu; Qmenu*ToolsMenu; Qmenu*Optionsmenu; Qmenu*Helpmenu; /*File Action*/qaction*newaction; Qaction*openaction; Qaction*saveaction; Qaction*saveasaction; Qaction*exitaction; /*Edit Action*/qaction*cutaction; Qaction*copyaction; Qaction*pasteaction; Qaction*deleteaction; Qmenu*Selectsubmenu; Qaction*selectrowaction; Qaction*selectcolumnaction; Qaction*selectallaction; Qaction*findaction; Qaction*gotocellaction; /*Tools Actions*/qaction*recalculateaction; Qaction*sortaction; /*Options Action*/qaction*showgridaction; Qaction*autorecalculateaction; /*Help Action*/qaction*aboutaction; Qaction*aboutqtaction; voidCreatemenus (); voidcreateactions (); voidcreatefileactions (); voidcreateeditactions (); voidcreatetoolsactions (); voidcreateoptionsactions (); voidcreatehelpaction ();};#endif/*mainwindow_h*/
3. Mainwindow.cpp
#include <QMenu>#include<QMenuBar>#include<QAction>#include"mainwindow.h"Mainwindow::mainwindow () {createactions (); Createmenus ();}voidMainwindow::createmenus () {/*File Menu*/Filemenu= MenuBar ()->addmenu (TR ("&file")); Filemenu-addaction (newaction); Filemenu-addaction (openaction); Filemenu-addaction (saveaction); Filemenu-addaction (saveasaction); Filemenu-AddSeparator (); Filemenu-addaction (exitaction); /*Edit Menu*/Editmenu= MenuBar ()->addmenu (TR ("&edit")); Editmenu-addaction (cutaction); Editmenu-addaction (copyaction); Editmenu-addaction (pasteaction); Editmenu-addaction (deleteaction); Selectsubmenu= Editmenu->addmenu (TR ("&select")); Selectsubmenu-addaction (selectrowaction); Selectsubmenu-addaction (selectcolumnaction); Selectsubmenu-addaction (selectallaction); Editmenu-AddSeparator (); Editmenu-addaction (findaction); Editmenu-addaction (gotocellaction); /*Tools Menu*/ToolsMenu= MenuBar ()->addmenu (TR ("&tools")); ToolsMenu-addaction (recalculateaction); ToolsMenu-addaction (sortaction); /*option Menu*/Optionsmenu= MenuBar ()->addmenu (TR ("&option")); Optionsmenu-addaction (showgridaction); Optionsmenu-addaction (autorecalculateaction); /*Spacer Device*/MenuBar ()-AddSeparator (); /*Help Menu*/Helpmenu= MenuBar ()->addmenu (TR ("&help")); Helpmenu-addaction (aboutaction); Helpmenu-addaction (aboutqtaction);}voidmainwindow::createactions () {createfileactions (); Createeditactions (); Createtoolsactions (); Createoptionsactions (); Createhelpaction ();}/*File Action*/voidmainwindow::createfileactions () {newaction=NewQaction (TR ("&new"), This); Openaction=NewQaction (TR ("&open"), This); Saveaction=NewQaction (TR ("&save"), This); Saveasaction=NewQaction (TR ("Save &as ..."), This); Exitaction=NewQaction (TR ("E&xit"), This);}/*Edit Action*/voidmainwindow::createeditactions () {cutaction=NewQaction (TR ("cu&t"), This); Copyaction=NewQaction (TR ("©"), This); Pasteaction=NewQaction (TR ("&paste"), This); Deleteaction=NewQaction (TR ("&delete"), This); Selectrowaction=NewQaction (TR ("&row"), This); Selectcolumnaction=NewQaction (TR ("&column"), This); Selectallaction=NewQaction (TR ("&all"), This); Findaction=NewQaction (TR ("&find ..."), This); Gotocellaction=NewQaction (TR ("&go to Cell ..."), This); }/*Tools Actions*/voidmainwindow::createtoolsactions () {recalculateaction=NewQaction (TR ("&recalculate"), This); Sortaction=NewQaction (TR ("&sort ..."), This);}/*Options Action*/voidmainwindow::createoptionsactions () {showgridaction=NewQaction (TR ("&show Grid"), This); Autorecalculateaction=NewQaction (TR ("auto-recalculate"), This);}/*Help Action*/voidmainwindow::createhelpaction () {aboutaction=NewQaction (TR ("&about"), This); Aboutqtaction=NewQaction (TR ("About &QT"), This);}
4. main.cpp
#include <QApplication>"mainwindow.h"int main (int Char *argv[]) { qapplication app (argc, argv); New MainWindow; Win-and show () ; return app.exec ();}
C + + GUI QT4 programming ( -3.1menu)