PyQt4学习笔记-002

作者: plectrum | 来源:发表于2015-02-01 20:38 被阅读572次

    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

    相关文章

      网友评论

        本文标题:PyQt4学习笔记-002

        本文链接:https://www.haomeiwen.com/subject/knalxttx.html