PyQt4 學習筆記2之選單與工具欄

2021-07-06 06:27:08 字數 4086 閱讀 7805

單擊此處可檢視英文原版。

在接下來的pyqt4教程中,我們將學習如何建立選單和工具欄。選單是位於選單欄的一組命令的集合。工具欄是在應用程式中對應常用命令的按鈕。

qtgui.qmainwindow類為應用程式提高了主視窗。它為應用程式提高了典型的視窗框架,包括狀態列、工具欄和選單欄。

以下**展示了在qtgui.qmainwindow部件的幫助下建立狀態列。狀態列是用於顯示狀態資訊的部件。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

from pyqt4 import qtgui

class

example

(qtgui.qmainwindow):

def__init__

(self):

super(example, self).__init__()

self.initui()

definitui

(self):

# 呼叫qtgui.qmainwindow類的statusbar()方法獲取

# 狀態列。第一次呼叫statusbar()函式時,會建立狀態列。

# 後續呼叫時會返回狀態列物件。showmessage()將指定

# 的訊息在狀態列中顯示。

self.statusbar().showmessage('ready')

self.setgeometry(300, 300, 250, 150)

self.setwindowtitle('statusbar')

self.show()

defmain

(): ex = example()

if __name__ == '__main__':

main()

選單欄是gui應用程式中常見的一部分。它是一組位於不同選單下的命令集合。(mac os處理選單的方式有所不同。為了獲取相同的結果,可以加入:menubar.setnativemenubar(false)。)

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

from pyqt4 import qtgui

class

example

(qtgui.qmainwindow):

def__init__

(self):

super(example, self).__init__()

self.initui()

definitui

(self):

# qtgui.qaction是關於選單欄、工具欄或自定義快捷鍵動作的抽象。

# 建立指定圖示和'&exit'標籤的動作。

exitaction = qtgui.qaction(qtgui.qicon('exit.png'), '&exit', self)

# 為該動作定義快捷鍵。

exitaction.setshortcut('ctrl+q')

# 當滑鼠停留在選單上時,在狀態列顯示該選單的相關資訊。

# 相關聯,這將會終止應用程式。

self.statusbar()

# menubar()方法建立選單欄。我們建立了乙個檔案選單,並將退出動作新增在其後。

menubar = self.menubar()

filemenu = menubar.addmenu('&file')

filemenu.addaction(exitaction)

self.setgeometry(300, 300, 250, 150)

self.setwindowtitle('menubar')

self.show()

defmain

(): ex = example()

if __name__ == '__main__':

main()

在上面的例子中,我們建立了只有乙個選單的選單欄。這個選單包含乙個關閉應用程式的動作,使用者可以通過ctrl+q的快捷鍵執行該動作。我們同樣也建立了狀態列。

選單將我們在應用程式中使用的所有命令進行分組。工具欄則為我們提供了常用命令的快速訪問。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

from pyqt4 import qtgui

class

example

(qtgui.qmainwindow):

def__init__

(self):

super(example, self).__init__()

self.initui()

definitui

(self):

# 類似於上面選單欄的例子,我嗎建立乙個qaction物件。該物件擁有乙個標籤、圖示以及

# 乙個快捷鍵,並將qtgui.qmainwindow的quit()方法與之繫結。

exitaction = qtgui.qaction(qtgui.qicon('exit24.png'), '&exit', self)

exitaction.setshortcut('ctrl+q')

# 建立工具欄,並將qaction物件新增到工具欄中。

self.******* = self.add*******('exit')

self.*******.addaction(exitaction)

self.setgeometry(300, 300, 250, 150)

self.setwindowtitle('*******')

self.show()

defmain

(): ex = example()

if __name__ == '__main__':

main()

在本節的最後,我們建立乙個帶有選單欄,工具欄和狀態列的應用程式視窗。同時,在窗體的**建立了乙個編輯文字框部件。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

from pyqt4 import qtgui

class

example

(qtgui.qmainwindow):

def__init__

(self):

super(example, self).__init__()

self.initui()

definitui

(self):

# 建立文字輸入框,並將其放置在qtgui.qmainwindow

# 的**。它將佔據窗體剩下的所有空間。

textedit = qtgui.qtextedit()

self.setcentralwidget(textedit)

exitaction = qtgui.qaction(qtgui.qicon('exit24.png'), '&exit', self)

exitaction.setshortcut('ctrl+q')

exitaction.triggered.connect(self.close)

self.statusbar()

menubar = self.menubar()

filemenu = menubar.addmenu('&file')

filemenu.addaction(exitaction)

self.******* = self.add*******('exit')

self.*******.addaction(exitaction)

self.setgeometry(300, 300, 250, 150)

self.setwindowtitle('mainwindow')

self.show()

defmain

(): ex = example()

if __name__ == '__main__':

main()

本文主要介紹了pyqt4中關於選單欄、狀態列和工具欄的建立。

pyqt4學習筆記

訊號與槽機制作為qt最重要的特性,提供了任意兩個qt物件之間的通訊機制。其中,訊號會在某個特定情況或動作下被觸發,槽是用於接收並處理訊號的函式。例如,要將乙個視窗中的變化情況通知給另乙個視窗,則乙個視窗傳送訊號,另乙個視窗的槽接收此訊號並進行相應的操作,即可實現兩個視窗之間的通訊。這比傳統的圖形化程...

PyQt4 學習筆記4之事件與訊號

所有的gui應用程式都是基於事件驅動的。事件主要由應用程式的使用者產生,但也可以由其他方式生成 比如,網路連線,視窗管理器或者定時器。當呼叫應用程式的exec 方法時,應用程式就進入主迴圈,主迴圈獲取事件並將其傳送給相應的物件。在事件模型中,有三個參與者 事件源來自於狀態發生改變的物件,它們產生事件...

PyQt4 學習筆記7之控制項II

在本文中,我們繼續前一節的內容,談談pyqt4中的控制項。本節主要包括影象控制項 qtgui.qpixmap 行編輯控制項 qtgui.qlineedit 拆分控制項 qtgui.qsplitter 組合框控制項 qtgui.qcombobox qtgui.qpixmap控制項是處理影象控制項中的乙...