• pyside 添加菜单栏,窗口状态栏,工具栏


    这三个放到一起,个人认为比较有可比性。

    另外该写的解释我都记到注释里面了

    话不多说,show me the code

    菜单栏,

    # ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗口模式的问题,其他环境运行正常。

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @Date    : 2016-06-02 03:25:37
     4 # @Author  : Nevermoreluo (nevermoreluo@gmail.com)
     5 '''
     6 菜单栏文件
     7 windows下顺利执行
     8 ubuntu下不显示状态栏信息
     9 
    10 '''
    11 import sys
    12 from PySide import QtGui
    13 
    14 
    15 class Pyside_menubar(QtGui.QMainWindow):
    16 
    17     def __init__(self):
    18         super(Pyside_menubar, self).__init__()
    19 
    20         self.initUI()
    21 
    22     def initUI(self):
    23 
    24         self.statusBar()
    25         self.setFocus()
    26         # 建立一个动作&提供了内置ALT快捷键
    27         exitAction = QtGui.QAction('&Exit', self)
    28         # 设置快捷键Ctrl+Q
    29         exitAction.setShortcut('Ctrl+Q')
    30         # 在ubuntu下未能显示状态栏提示
    31         exitAction.setStatusTip('Exit application')
    32         # 建立触发机制,self.close退出窗口
    33         exitAction.triggered.connect(self.close)
    34 
    35         # 建立一个菜单栏
    36         menubar = self.menuBar()
    37         # 建立一个菜单栏按钮 &提供内置快捷键
    38         fileMenu = menubar.addMenu('&File')
    39         # 为菜单栏内 file按钮添加,建立的exitAction事件
    40         fileMenu.addAction(exitAction)
    41 
    42         self.setGeometry(300, 300, 250, 150)
    43         self.setWindowTitle('Menubar')
    44         self.show()
    45 
    46 
    47 def main():
    48 
    49     app = QtGui.QApplication(sys.argv)
    50     ex = Pyside_menubar()
    51     sys.exit(app.exec_())
    52 
    53 
    54 if __name__ == '__main__':
    55     main()

    工具栏

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @Date    : 2016-06-02 04:13:15
     4 # @Author  : Nevermoreluo (nevermoreluo@gmail.com)
     5 '''
     6 工具栏事件
     7 
     8 QtGui.QAction建立一个事件
     9 
    10 .triggered.connect关联触发函数
    11 self.addToolBar('name').addAction( )建立工具栏,并为工具栏添加事件
    12 '''
    13 
    14 
    15 import sys
    16 from PySide import QtGui
    17 
    18 
    19 class Pyside_toolbar(QtGui.QMainWindow):
    20 
    21     def __init__(self):
    22         super(Pyside_toolbar, self).__init__()
    23 
    24         self.initUI()
    25 
    26     def initUI(self):
    27         # QtGui.QAction建立一个事件动作
    28         # 用QtGui.QIcon做一个图标,
    29         exitAction = QtGui.QAction(QtGui.QIcon('screenshot.jpg'), 'Exit', self)
    30         # 建立一个关联快捷键
    31         exitAction.setShortcut('Ctrl+Q')
    32         # 关联一个触发函数self.close
    33         exitAction.triggered.connect(self.close)
    34         # 建立一个工具栏
    35         self.toolbar = self.addToolBar('Exit')
    36         # 为工具栏添加动作
    37         self.toolbar.addAction(exitAction)
    38 
    39         self.setGeometry(300, 300, 350, 250)
    40         self.setWindowTitle('Toolbar')
    41         self.show()
    42 
    43 
    44 def main():
    45 
    46     app = QtGui.QApplication(sys.argv)
    47     ex = Pyside_toolbar()
    48     sys.exit(app.exec_())
    49 
    50 
    51 if __name__ == '__main__':
    52     main()

    状态栏

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @Date    : 2016-06-01 21:20:02
     4 # @Author  : Nevermoreluo (nevermoreluo@gmail.com)
     5 
     6 '''
     7 simple ex:
     8 QtGui.QMainWindow.statusBar().showMessage('')
     9 '''
    10 
    11 
    12 import sys
    13 from PySide import QtGui
    14 
    15 
    16 class Pyside_statusbar(QtGui.QMainWindow):
    17 
    18     def __init__(self):
    19         super(Pyside_statusbar, self).__init__()
    20 
    21         self.initUI()
    22 
    23     def initUI(self):
    24         # 创建一个状态栏,并写入ready
    25         self.statusBar().showMessage('Ready')
    26         # 设置窗口位置大小
    27         self.setGeometry(300, 300, 250, 150)
    28         self.setWindowTitle('Statusbar')
    29         self.show()
    30 
    31 
    32 def main():
    33 
    34     app = QtGui.QApplication(sys.argv)
    35     ex = Pyside_statusbar()
    36     sys.exit(app.exec_())
    37 
    38 
    39 if __name__ == '__main__':
    40     main()
  • 相关阅读:
    冲刺周期会议三
    冲刺周期会议二
    冲刺周期会议一
    日常会议
    总结会议及站立会议(六)
    站立会议(五)
    站立会议(四)
    【自习任我行】
    软件小创意
    团队项目题目拟定
  • 原文地址:https://www.cnblogs.com/nevermoreluo/p/5572156.html
Copyright © 2020-2023  润新知