pyside 添加菜单栏,窗口状态栏,工具栏
这三个放到一起,个人认为比较有可比性。
另外该写的解释我都记到注释里面了
话不多说,show me the code
菜单栏,
# ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗口模式的问题,其他环境运行正常。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2016-06-02 03:25:37
# @Author : Nevermoreluo (nevermoreluo@gmail.com)
'''
菜单栏文件
windows下顺利执行
ubuntu下不显示状态栏信息 '''
import sys
from PySide import QtGui class Pyside_menubar(QtGui.QMainWindow): def __init__(self):
super(Pyside_menubar, self).__init__() self.initUI() def initUI(self): self.statusBar()
self.setFocus()
# 建立一个动作&提供了内置ALT快捷键
exitAction = QtGui.QAction('&Exit', self)
# 设置快捷键Ctrl+Q
exitAction.setShortcut('Ctrl+Q')
# 在ubuntu下未能显示状态栏提示
exitAction.setStatusTip('Exit application')
# 建立触发机制,self.close退出窗口
exitAction.triggered.connect(self.close) # 建立一个菜单栏
menubar = self.menuBar()
# 建立一个菜单栏按钮 &提供内置快捷键
fileMenu = menubar.addMenu('&File')
# 为菜单栏内 file按钮添加,建立的exitAction事件
fileMenu.addAction(exitAction) self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Menubar')
self.show() def main(): app = QtGui.QApplication(sys.argv)
ex = Pyside_menubar()
sys.exit(app.exec_()) if __name__ == '__main__':
main()
工具栏
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2016-06-02 04:13:15
# @Author : Nevermoreluo (nevermoreluo@gmail.com)
'''
工具栏事件 QtGui.QAction建立一个事件 .triggered.connect关联触发函数
self.addToolBar('name').addAction( )建立工具栏,并为工具栏添加事件
''' import sys
from PySide import QtGui class Pyside_toolbar(QtGui.QMainWindow): def __init__(self):
super(Pyside_toolbar, self).__init__() self.initUI() def initUI(self):
# QtGui.QAction建立一个事件动作
# 用QtGui.QIcon做一个图标,
exitAction = QtGui.QAction(QtGui.QIcon('screenshot.jpg'), 'Exit', self)
# 建立一个关联快捷键
exitAction.setShortcut('Ctrl+Q')
# 关联一个触发函数self.close
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 = Pyside_toolbar()
sys.exit(app.exec_()) if __name__ == '__main__':
main()
状态栏
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2016-06-01 21:20:02
# @Author : Nevermoreluo (nevermoreluo@gmail.com) '''
simple ex:
QtGui.QMainWindow.statusBar().showMessage('')
''' import sys
from PySide import QtGui class Pyside_statusbar(QtGui.QMainWindow): def __init__(self):
super(Pyside_statusbar, self).__init__() self.initUI() def initUI(self):
# 创建一个状态栏,并写入ready
self.statusBar().showMessage('Ready')
# 设置窗口位置大小
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Statusbar')
self.show() def main(): app = QtGui.QApplication(sys.argv)
ex = Pyside_statusbar()
sys.exit(app.exec_()) if __name__ == '__main__':
main()
pyside 添加菜单栏,窗口状态栏,工具栏的更多相关文章
- VSTO Word2003 添加菜单栏, 添加工具栏
直接上代码了: Microsoft.Office.Core.CommandBar menuBar; CommandBarButton ccbtn = null; CommandBar ...
- MFC_2.8 使用状态栏工具栏
使用状态栏工具栏 1.资源-添加-TOOLBAR 画图标.画了一个,第二个会出来. 2.头文件添加成员 CToolBar m_ToolBar; CStatusBar m_StatusBar; 3.初始 ...
- 在C#中使用属性控件添加属性窗口
转自原文 在C#中使用属性控件添加属性窗口 第一步,创建在应用程序中将要展现的字段属性为public公有属性.其中,所有的属性必须有get和set的方法(如果不设置get方法,则要显示的属性不会显示在 ...
- Ext.grid.EditorGridPanel点击单元格添加菜单栏
1.定义菜单栏需要的全局变量 var khbm; var type; 2.新建一个菜单栏 var smenu = new Ext.menu.Menu({ id:"sMenu", i ...
- 【MFC - 菜单】在对话框程序中添加菜单栏(CMenu)(转)
原文转自 http://lishiqiang1988.blog.163.com/blog/static/41147912201382104631547/ VS2010的MFC对话框程序中添加菜单栏的过 ...
- 在MFC中添加OpenGL窗口
虽然MFC已经落伍好多年,而且用来做界面非常的不好用...但是我既不会C#也不会QT,又需要使用OpenGL,就只能将就用了... 一.首先介绍Windows图像程序设计中几个重要的概念: G ...
- 2019-2-3-VisualStudio-扩展开发-添加输出窗口
title author date CreateTime categories VisualStudio 扩展开发 添加输出窗口 lindexi 2019-02-03 11:41:40 +0800 2 ...
- C#Windows窗体界面设计_05_添加菜单栏 工具栏 状态栏 按钮
- wx工具栏,菜单栏,状态栏
#!/usr/bin/env python # -*- coding: utf- -*- import wx import wx.py.images class ToolbarFrame(wx.Fra ...
随机推荐
- 输出MYSQL所有SQL语句
在my.cnf中的mysqld段增加如下参数,然后重启MYSQL: log-output = FILE general_log = 1 general_log_file = "D:/Visu ...
- U盘被写保护如何解除 (转)
U盘被写保护如何解除 在使用U盘的时候,一直都很正常,但是突然有一天,U盘被提示被写保护了,不能够进行读写数据,如果这时正着急使用,一定会被气疯了吧,其实解决这个问题,是非常简单的. U盘被写保护 ...
- 使用PHPExcel导出文件
使用PHPExcel导出文件步骤及解析: 新建一个excel表格:实例化PHPExcel类 创建sheet(内置表):createSheet()方法,创建新的sheet方法 setActiveShee ...
- 第三章 Git使用入门
我们都知道Linux和Android是开源的.Linux下的软件很多都不直接以二进制形式的安装包提供,而是直接提供了源代码,为了减少发行包的大小,用户须先下载源代码,在本机上编译并安装,使用make. ...
- 互联网实习笔记之shell笔记
linux下面一切都是可以配置的 #vim可以有 .vimrc文件 #------.vimrc开始---- set vb t_vb= set number syntax on set hlsearch ...
- js/jquery获取文本框的值与改变文本框的值
我们就用它来学习获取文本框的值及改变文本框的值. 代码如下 复制代码 <script>function get1(){ document.getElementById("txtb ...
- 通过a++来理解闭包改变作用域的问题
纯属个人理解,如果有误请指出! 让我们先看一段代码 function dog(){ var a=100; a++; return a; } alert(dog()); alert(dog()); 我们 ...
- 修改HTTPD.CONF中的DocumentRoot,出现 You don't have permission to access /??? on this server.
apache 2.4 修改/conf/extra/httpd-vhosts.conf <VirtualHost _default_:80> DocumentRoot '${SRVROOT} ...
- 常见类型,isset(),empty()判断
<?php $a = NULL; var_dump($a); //NULL,[false],true var_dump(isset($a)); var_dump ...
- js 闭包演示
function test2() { var scope = "global scope"; var f = enclose(scope); scope = 'aaa'; aler ...