PyQt4学习笔记-002
2015-02-01 本文已影响572人
plectrum
PyQt4学习笔记-002
@(PyQt_002)[PyQt|高级篇|笔记|Python]
内容来自zetcode.com
主窗口
- 使用
QtGui.QMainWindow
类创建包含状态栏,工具栏,菜单栏的窗口应用
创建状态栏
- 将代码组织成类的形式
# -*-coding:utf-8-*-
import sys #导入Sys模块
from PyQt4 import QtGui
class Statusbar(QtGui.QMainWindow):
def __init__(self):
super(Statusbar,self).__init__()
self.initUI()
- 创建方法
def initUI(self):
self.statusBar().showMessage('Ready')#使用QtGui.QMainWindow类中的statusBar()方法创建状态栏
#showMessage()创建状态栏上显示的文字
self.setGeometry(300,300,450,250)
self.setWindowTitle('Statusbar')
self.show()
- 调用执行
def main():
app = QtGui.QApplication(sys.argv)
t = Statusbar()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
-
返回结果
statusbar001.PNG
创建菜单栏
创建带一个菜单项的菜单栏,这个菜单执行关闭应用程序的动作,这个动作也可以通过快捷键来执行,同时创建了一个状态栏
- 修改initUI方法
def initUI(self):
exitAction = QtGui.QAction('&Exit',self)
#创建一个动作,这个动作标签是Exit
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)
#将此菜单执行动作关联之前定义的退出动作
self.setGeometry(300,300,450,200)
self.setWindowTitle('Menubar')
self.show()
-
返回结果
statusbar002.png
创建工具栏
-
修改initUI方法
修改的地方很少,与之前菜单栏相比,只是将此改为建立工具栏,将定义的退出动作与工具栏上的退出方法关联起来
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()
-
返回结果
statusbar003.PNG
将菜单栏,工具栏放到一起
-
修改initUI方法
将之前的代码放在一即可,增加了一个文字输入框
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()
-
返回结果
statusbar004.PNG