新如何在PyQt中自定義菜單欄和工具欄
創(chuàng)建狀態(tài)欄控件 首先,通過QMainWindow創(chuàng)建狀態(tài)欄控件,可以使用QtGui.QMainWindow的statusBar()方法來實現(xiàn)。第一次調(diào)用該方法會創(chuàng)建一個狀態(tài)欄對象,之后的調(diào)用都會返回
創(chuàng)建狀態(tài)欄控件
首先,通過QMainWindow創(chuàng)建狀態(tài)欄控件,可以使用QtGui.QMainWindow的statusBar()方法來實現(xiàn)。第一次調(diào)用該方法會創(chuàng)建一個狀態(tài)欄對象,之后的調(diào)用都會返回這個狀態(tài)欄對象。使用showMessage()方法可以在狀態(tài)欄展示消息。
定制菜單欄
菜單欄是GUI程序的標(biāo)配,是一組位于不同菜單內(nèi)的命令集合。為了在Mac系統(tǒng)中得到一致的結(jié)果,可以添加(False)這行代碼??梢詣?chuàng)建帶有菜單的菜單欄,其中包含各種動作。通過設(shè)置快捷鍵Ctrl Q,可以觸發(fā)特定動作。
添加動作至菜單欄
QAction代表菜單欄、工具欄或自定義快捷鍵中可執(zhí)行的動作。通過代碼創(chuàng)建具有特定圖標(biāo)和標(biāo)簽“Exit”的動作,并設(shè)定快捷鍵。同時為動作設(shè)置狀態(tài)提示,在鼠標(biāo)懸停時顯示在狀態(tài)欄上。
連接動作與信號
點擊動作時會發(fā)出triggered信號,可以將此信號連接到QApplication的quit()方法,以實現(xiàn)程序停止功能。通過menuBar()方法創(chuàng)建菜單欄并添加exitAction,為應(yīng)用程序命令分組提供便利方式。
創(chuàng)建工具欄
工具欄為常用命令提供快速訪問方式,類似菜單欄,創(chuàng)建一個簡單的工具欄并添加退出動作。當(dāng)觸發(fā)退出動作時,程序?qū)⑼顺?。與菜單欄示例相似,也要創(chuàng)建QAction對象,并將其與QtGui.QMainWindow的quit()方法連接。
構(gòu)建傳統(tǒng)GUI程序
最后,創(chuàng)建一個具有菜單欄、工具欄和狀態(tài)欄的傳統(tǒng)GUI程序。在中心部件中放置一個TextEdit控件,將其設(shè)置為QMainWindow的中心控件,占用所有剩余空間。