PyQt4學(xué)習(xí)筆記-002
@(PyQt_002)[PyQt|高級(jí)篇|筆記|Python]
內(nèi)容來(lái)自zetcode.com
主窗口
- 使用
QtGui.QMainWindow
類(lèi)創(chuàng)建包含狀態(tài)欄失晴,工具欄靠闭,菜單欄的窗口應(yīng)用
創(chuàng)建狀態(tài)欄
- 將代碼組織成類(lèi)的形式
# -*-coding:utf-8-*-
import sys #導(dǎo)入Sys模塊
from PyQt4 import QtGui
class Statusbar(QtGui.QMainWindow):
def __init__(self):
super(Statusbar,self).__init__()
self.initUI()
- 創(chuàng)建方法
def initUI(self):
self.statusBar().showMessage('Ready')#使用QtGui.QMainWindow類(lèi)中的statusBar()方法創(chuàng)建狀態(tài)欄
#showMessage()創(chuàng)建狀態(tài)欄上顯示的文字
self.setGeometry(300,300,450,250)
self.setWindowTitle('Statusbar')
self.show()
- 調(diào)用執(zhí)行
def main():
app = QtGui.QApplication(sys.argv)
t = Statusbar()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
-
返回結(jié)果
創(chuàng)建菜單欄
創(chuàng)建帶一個(gè)菜單項(xiàng)的菜單欄,這個(gè)菜單執(zhí)行關(guān)閉應(yīng)用程序的動(dòng)作,這個(gè)動(dòng)作也可以通過(guò)快捷鍵來(lái)執(zhí)行峦朗,同時(shí)創(chuàng)建了一個(gè)狀態(tài)欄
- 修改initUI方法
def initUI(self):
exitAction = QtGui.QAction('&Exit',self)
#創(chuàng)建一個(gè)動(dòng)作,這個(gè)動(dòng)作標(biāo)簽是Exit
exitAction.setShortcut('Ctrl+Q')
#給這個(gè)動(dòng)作定義一個(gè)快捷鍵
exitAction.setStatusTip('Exit application')
#給這個(gè)動(dòng)作創(chuàng)建一個(gè)狀態(tài)欄提示
exitAction.triggered.connect(QtGui.qApp.quit)
#創(chuàng)建一個(gè)觸發(fā)信號(hào)鏈接到一個(gè)退出的方法
self.statusBar()
menubar = self.menuBar()
#創(chuàng)建一個(gè)菜單欄
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
#將此菜單執(zhí)行動(dòng)作關(guān)聯(lián)之前定義的退出動(dòng)作
self.setGeometry(300,300,450,200)
self.setWindowTitle('Menubar')
self.show()
-
返回結(jié)果
創(chuàng)建工具欄
-
修改initUI方法
修改的地方很少,與之前菜單欄相比,只是將此改為建立工具欄吧享,將定義的退出動(dòng)作與工具欄上的退出方法關(guān)聯(lián)起來(lái)
def initUI(self):
exitAction = QtGui.QAction('&Exit',self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(QtGui.qApp.quit)
self.statusBar()
#******************************************************
self.toolbar = self.addToolBar('Exit') #*只修改此處
self.toolbar.addAction(exitAction) #*
#******************************************************
self.setGeometry(300,300,450,200)
self.setWindowTitle('Toolbar')
self.show()
-
返回結(jié)果
將菜單欄,工具欄放到一起
-
修改initUI方法
將之前的代碼放在一即可譬嚣,增加了一個(gè)文字輸入框
def initUI(self):
#******************************************************
textEdit = QtGui.QTextEdit()
self.setCentralWidget(textEdit)
#******************************************************
exitAction = QtGui.QAction('&Exit',self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(QtGui.qApp.quit)
self.statusBar()
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
toolbar = self.addToolBar('Exit')
toolbar.addAction(exitAction)
self.setGeometry(300,300,450,200)
self.setWindowTitle('Together')
self.show()
-
返回結(jié)果