菜單欄、工具欄與狀態(tài)欄
1、菜單欄
在 QMain Window對象的標(biāo)題欄下方,水平的QMenuBar被保留顯示QMenu對象。QMenu類提供了一個可以添加到菜單欄的小控件,也用于創(chuàng)建上下文菜單和彈出菜單。每個 QMenu對象都可以包含一個或多個QAction對象或級聯(lián)的QMenu對象。
要創(chuàng)建一個彈出菜單,PyQt API提供了createPopupMenu()函數(shù);menuBar()函數(shù)用于返回主窗口的 QMenuBar對象;addMenu()函數(shù)可以將菜單添加到菜單欄中;通過addAction()函數(shù)可以在菜單中進(jìn)行添加操作。
在設(shè)計菜單系統(tǒng)時使用的一些重要方法如表所示。

單擊任何QAction按鈕時,QMenu對象都會發(fā)射triggered信號。
實例演示1: QMenubar使用
運行腳本,顯示效果如圖所示。

代碼分析:
在這個例子中,頂層窗口必須是QMainWindow對象,才可以引用QMenuBar對象。
通過addMenu()方法“File”菜單添加到菜單欄中。
菜單欄中的操作按鈕可以是字符串或QAction對象。
將子菜單添加到頂級菜單中。
菜單發(fā)射triggered信號,將該信號連接到槽函數(shù)proecesstrigger(),該函數(shù)接收信號的QAction
對象。
2、QToolBar
QToolBar控件是由文本按鈕、圖標(biāo)或其他小控件按鈕組成的可移動面板,通常位于菜單欄下方。QToolBar類中常用方法如下表。

每當(dāng)單擊工具欄中的按鈕時,都將發(fā)射actionTriggered信號。另外,這個喜好將關(guān)聯(lián)的QAction對象的引用發(fā)送到連接的槽函數(shù)上。
實例演示2: QToolBar使用
運行代碼,顯示結(jié)構(gòu)如下。

注意: 自己配圖標(biāo)文件哦
代碼分析:
在這個例子中,首先調(diào)用addToolBar()方法在工具欄區(qū)域添加文件工具欄。
然后,添加具有文本標(biāo)題的工具按鈕,工具欄通常包含圖形按鈕。具有圖標(biāo)和名稱的QAction對象將被添加到工具欄中。
最后,將actionTriggered信號連接到槽函數(shù)toolbtnpressed()。
3、QStatusBar
Main Window對象在底部保留有一個水平條,作為狀態(tài)欄(QStatusBar),用于顯示永久的或臨時的狀態(tài)信息。
通過主窗口的OMain Window的 setStatusBar()函數(shù)設(shè)置狀態(tài)欄,核心代碼如下:
QStatusBar類中的常用方法如下表所示:

實例演示3:QStatusBar使用
運行程序,點擊File->show,顯示效果如下。

代碼分析:
在這個例子中,頂層窗口MainWindow有一個菜單欄和一個QTextEdit對象,作為中心控件。
當(dāng)單擊MenuBar的菜單時,將triggered信號與槽函數(shù)processTrigger()進(jìn)行綁定。
當(dāng)單擊“show”菜單選項時,會在狀態(tài)欄顯示提示信息,并在5秒后消失。
4、QPrinter(福利贈送小節(jié))
打印圖像是圖像處理軟件中的一個常用功能。打印圖像實際上是在QPaintDevice中畫圖,與平常在QWidget、QPixmap和 QImage中畫圖一樣,都是創(chuàng)建一個QPainter對象進(jìn)行畫圖的,只是打印使用的是 QPrinter,它本質(zhì)上也是一個QPaintDevice(繪圖設(shè)備)。
實例演示4:QPrinter使用
運行顯示如下:

單擊打印圖標(biāo)或者點擊菜單欄打印/ctrl+p,顯示打印界面。
