PyQt4学习笔记-002
admin
2023-07-30 20:42:22
0

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
    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
    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
    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
    statusbar004.PNG

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...