PyQt4编程之如何做菜单栏
菜单栏是大部分软件都有的,菜单栏能提供便捷的帮助,记事本的菜单栏就是最简单的一个例子,等过几天我会写记事本的菜单栏了再另外发代码出来。
下面的代码是Copy的:
import sys
from PyQt4 import QtGui,QtCoreclass MainWindow(QtGui.QMainWindow):def __init__(self):QtGui.QMainWindow.__init__(self)self.resize(250,150) self.move(600,300)self.setWindowTitle('menubar')exit = QtGui.QAction(QtGui.QIcon('web.png'),'Exit',self) #创建相应的动作(自己的理解)exit.setShortcut('Ctrl+Q') #创建前面动作的快捷方式exit.setStatusTip('Exit application') #属于QAction这个类的成员函数,用于设置在状态栏提示前面动作的信息self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLOT('close()')) #建立信号和槽之间的连接,self.statusBar().showMessage("ready")menubar = self.menuBar()file= menubar.addMenu('&File')file.addAction(exit)
app=QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
这里我想详细分析一下。
首先查看QAction这个类,可以发现它有三种实例化方式:
QAction(QObject) QAction(QString, QObject) QAction(QIcon, QString, QObject)
显然我们这里采用的是第三种实例化方式。我想说的是,我们不仅要看得懂别人的代码,重要的是自己还要会分析在这么多选择下,他为什么要这么写。(显然,代码的作者要生成图标,所以选第三种)
我们再看一下setShortcut这个函数,它是QAction这个类的成员函数,exit是QAction实例化的一个对象,所以exit调用setShortcut这个函数就很正常了,另外,setShortcu函数的原型是:defsetShortcut(self, QKeySequence),QKeySequence也可以猜出来其参数是快捷键了。
有了刚才那个例子,我们也可以猜出来setStatusTip是QAction的成员函数了,我们在看一下它的原型:
defsetStatusTip(self, QString),很明显,QString是我们要显示的提示信息了。
紧接着又出现了和上面函数很像的statusBar(),点进去发现,它是属于QMainWindow这个类的,所以用self就是对的
它的原型是defstatusBar(self),返回值类型是QstatusBar,结合英文可以猜知它的作用是获得状态栏,
再看一下它的尾巴showmessage(),
点开发现它有五种类型,这里显然点进去第四个,发现它就是QstatusBar的成员函数。进而联系到它的作用,在状态栏上显示信息。
我也点进去了其他的,发现它属于的类都不是QstatusBar。(从后面的括号信息也看得出)
self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLOT('close()')) #建立信号和槽之间的连接, 这一句话我没有介绍,它是信号和槽之间的连接,有一篇文章不错,点击打开链接
PyQt4编程之如何做菜单栏相关推荐
- PyQt4编程之简短地做出多个选择框
先看效果图 ---------------------------------------------------------------------------------------------- ...
- PyQt4编程之模态与非模态对话框(一)
模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应.如单击[确定]或[取消]按钮等将该对话框关闭.---- ...
- PyQT4编程实例之小财务软件
编写一个计算复利的对话框应用程序.做好的效果如下图 先上代码,然后讲解. import sys from PyQt4.QtGui import * from PyQt4.QtCore import * ...
- PyQt4编程之自定义插槽
首先声明,这是学习了别人的文章后写的,原网址点击打开链接 简单地说,就是把上一篇中的 self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLO ...
- PyQt4编程之如何让状态栏显示信息
赶快记录一下,只是懂皮毛,或许多积累就好了 import sys from PyQt4 import QtGuiclass MainWindow(QtGui.QMainWindow):def __in ...
- Android用表格布局做菜单栏,Android开发菜单布局之表格布局示例
本文实例讲述了android开发菜单布局之表格布局.分享给大家供大家参考,具体如下: 多用于静态菜单页面 xml代码 代码内带详细解释 xmlns:android="http://schem ...
- html 树形结构_HTML学习之语义化标签
语义类标签是什么,使用它有什么好处? 语义类标签也是大家工作中经常会用到的一类标签,它们的特点是视觉表现上互相都差不多,主要的区别在于它们表示了不同的语义,比如大家会经常见到的section.nav. ...
- python选择框格式_PyQt组合框选择性文本格式
圣诞快乐伙计们!在 我不熟悉PyQt4编程,并且在大多数UI开发中使用Qt设计器.不过,我有一个特定的需求,需要通过Python代码填充QComboBox.另外,我想更改一些条目的文本格式(粗体,红色 ...
- 收集了一些python的文章
转载自:http://blog.csdn.net/xyw_blog/article/details/9128777 newthreading - safer concurrency for Pytho ...
最新文章
- 对标英伟达,依图发布AI芯片“求索”
- 聊聊php定时计划任务
- Python subprocess模块
- LtScrollImageView:自动滚动的广告图片展示栏
- numpy.power()
- Android wifi驱动的移植 realtek 8188
- delphi 线程安全list_Java的中的集合(容器)-List
- 【JSP笔记】第四章 JSP内置对象【下】
- c盘清理代码_WIN10 C盘空间不够怎么办?几个小方法助你清理硬盘空间
- 沁恒CH32V307母板+OPA4377运放模块-开源
- 三阶魔方学习(新手入门)
- android手机锁屏密码忘记,安卓手机锁屏密码忘了怎么办 解决锁屏密码六种方法介绍...
- 国内免备案服务器有哪些?
- Mysql数据库主主从设置
- AOJ 15951 零件加工问题二
- c++怎么取消换行或回到上一行
- 银行数字化转型现状及问题
- 结构体是纸老虎,旧知识新用法,easy
- ANSYS电磁仿真软件
- 双11来临,阿里云大数据(数加)会出哪些绝招?