您的位置:首页 > 其它

PySide学习笔记第六章-菜单和工具栏

2016-04-29 10:25 537 查看
首先我们用QtGui.QMainWindow class 创建一个主窗口,然后在该主窗口中才能创建 状态栏,工具栏,以及菜单栏

一、创建状态栏

# -*- coding: utf-8 -*-
import sys
from PySide import QtGui

class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):
self.statusBar().showMessage('Ready')# 在QtGui.QMainWindow中创建一个状态栏,然后设置状态栏显示的信息

self.setGeometry(300, 300, 100, 50)
self.setWindowTitle('Statusbar')
self.show()

def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

if __name__ == '__main__':
main()

二、菜单栏
在该例子中,我们创建了一个只有一个菜单的菜单栏,菜单包含一个关闭窗口的动作。而且还有一个状态栏的动作,通过Ctrl+Q快捷键也可以关闭窗口

# -*- coding: utf-8 -*-

"""
ZetCode PySide tutorial
This program creates a menubar.
author: Jan Bodnar
website: zetcode.com
last edited: August 2011
"""
import sys
from PySide import QtGui

class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):
exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self) # 创建一个退出动作,该动作会关闭当前窗口
exitAction.setShortcut('Ctrl+Q') # 自定义快捷键
exitAction.setStatusTip('Exit application') # 状态栏提示
exitAction.triggered.connect(self.close) # 利用信号槽机制,将退出动作和窗口的关闭函数联系起来

self.statusBar()

menubar = self.menuBar() # 创建一个菜单栏
fileMenu = menubar.addMenu('&File') # 在菜单栏中添加 菜单
fileMenu.addAction(exitAction) # 将前面创建的exitAction添加到该菜单

self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Menubar')
self.show()

def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

if __name__ == '__main__':
main()

三、工具栏

在Qt里,菜单包含里所有我们可以在一个应用中用到的命令,而工具栏提供了一种快捷方式来触发大多数常用的命令(即快捷键功能)

#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
ZetCode PySide tutorial
This program creates a toolbar.
author: Jan Bodnar
website: zetcode.com
last edited: August 2011
"""
import sys
from PySide import QtGui

class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):
exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(self.close)

self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(exitAction)

self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Toolbar')
self.show()

def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

if __name__ == '__main__':
main()

四、将以上所有功能融合

# -*- coding: utf-8 -*-

"""
ZetCode PySide tutorial
This program creates a skeleton of
a classic GUI application with a menubar,
toolbar, statusbar and a central widget.
author: Jan Bodnar
website: zetcode.com
last edited: August 2011
"""
import sys
from PySide import QtGui

class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()

self.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(self.close)

self.statusBar()

menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)

toolbar = self.addToolBar('Exit')
toolbar.addAction(exitAction)

self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Main window')
self.show()

def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

if __name__ == '__main__':
main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: