PyQt4学习笔记-002

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()
  • 返回结果
    PyQt4学习笔记-002_第1张图片
    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()
  • 返回结果
    PyQt4学习笔记-002_第2张图片
    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()
  • 返回结果
    PyQt4学习笔记-002_第3张图片
    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()
  • 返回结果
    PyQt4学习笔记-002_第4张图片
    statusbar004.PNG

你可能感兴趣的:(PyQt4学习笔记-002)