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 ...
随机推荐
- Xcode 7如何 免费 真机调试iOS应用
运行Xcode后,点击菜单中的Preferences…进入Accounts标签,这里选择添加Apple ID: 在弹出的对话框中登入你的Apple ID,没有的话去注册一个就是了,登录成功后会看到下面 ...
- Git典型使用场景
1. 在本地创建版本库(把本地的一个目录内的文件纳入版本库管理,方便查看变动历史,恢复版本等.不限于代码,可以是笔记等所有需要追踪历史的文件.) git init -- 把当前目录初始化为版本库 2. ...
- jacon
com的线程回收不由java垃圾回收器进行处理,因此,每new一次jacob提供的类就要分配一定大小的内存给该操作,new出来的这个com对象在使用结束之后产生的垃圾java是无法回收的,new出来的 ...
- fontsize可以解决img标签插入图片之间的缝隙
当我们用img标签连续插入多张图片的时候,图片和图片之间会出现缝隙,通常我们的做法是用DIV将图片包起来进行浮动来解决这个问题,但是还有一种解决方法是在img的父级元素里面设置font-size:0来 ...
- sis9280触摸ic 基于rk3288 的安卓4.4的 多点触摸
前言:sis提供的驱动ic.基于rk3288的安卓系统.亲眼看到人家完成一次移植.很激动的记下一些东西..虽然我看不懂.其实现在的工作也不需要看懂.叫人协助就好,只需要知道有这个东西. 1linux下 ...
- 通过CSS实现小动物
此例演示的是通过CSS实现动物头像,效果如下: 好了,上代码: html代码: <html> <head> <meta charset="utf-8" ...
- Reverse-Daily(5)-RE_100
比较简单的一道题目,主要注意方法一 链接:http://pan.baidu.com/s/1c1U8a4K 密码:cnkq 我用了两种方法 方法一: nop掉几处无关的call指令,然后直接运行程序,但 ...
- Math类常用方法(Java)
三角函数: public static double sin (double radians) public static double cos(double radians) public stat ...
- BackTrack5-r3任务栏显示网络图标及自定义DNS
任务栏显示网络连接图标:安装NM工具,在BT终端中执行:apt-get install network-manager按y继续执行,显示:ldconfig deferred processing no ...
- BackTrack5-r3安装中文版的firefox火狐浏览器
在BT终端中输入:sudo apt-get install firefox 按回车在火狐地址栏里输入"about:config" 回车,点我同意.然后在过滤器里输入"ge ...