1. 程式人生 > >Qt之選單或者對二級選單的理解.

Qt之選單或者對二級選單的理解.

重點的話寫在前面:我們應該意識到,能點選後實時具體功能的是選單項(和QAction相關),點選之後達到彈出選單項的姑且稱之為"選單"(QMenu).

舉例說明:


解說:

1.管理是Menu.

2.登陸,登出,退出是QAction.

3.二級是Menu.

因為管理是放在系統選單欄上的,所以通過MenuBar()返回系統選單指標進行新增,登陸,登出,退出是管理的選單項,通過"管理"進行新增,二級也是管理中的一項,二級也是Menu."選單"新增選單項和新增Menu的函式不同而已.直接上程式碼解釋就懂了.

adminMenu是個選單指標:

adminMenu=menuBar()->addMenu(tr("管理"
));//建立管理選單

登陸,登出,退出:為QAction物件.

adminMenu->addAction(loginAction);//在管理選單下加入登入行為
adminMenu->addAction(logoutAction);//在管理選單下加入登出行為
adminMenu->addSeparator();//在管理選單下加入一個分隔符
adminMenu->addAction(exitAction);//在管理選單下加入退出
/*分界線自新增對選單的研究*/
QMenu*myMen=adminMenu->addMenu(tr("二級"));

最後插入補充:

QAction類:

QAction類提供了一個可以同時出現在選單和工具條上的抽象使用者介面操作,QAction能夠根據它新增的位置來改變自己的樣子——如果新增到選單中就會顯示成選單項(檔案,工具,收藏等選單項);如果新增到工具條,就會顯示成一個按鈕。 QAction類儲存有關這個動作的資訊,比如他的文字描述、圖示、快捷鍵、回撥函式等 。 QAction構造物件的時候會使用如下建構函式:     QAction(const QString &text, QObject* parent); 它有兩個引數,第一個text是這個動作的文字描述,用來顯示文字資訊,比如在選單中的文字;第二個是parent,一般而言,我們通常傳入this指標就可以了。我們不需要去關心這個parent引數具體是什麼,它的作用是指明這個QAction的父元件,當這個父元件被銷燬時,比如delete或者由系統自動銷燬,與其相關聯的這個QAction也會自動被銷燬。