菜单栏是大部分软件都有的,菜单栏能提供便捷的帮助,记事本的菜单栏就是最简单的一个例子,等过几天我会写记事本的菜单栏了再另外发代码出来。

下面的代码是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编程之如何做菜单栏相关推荐

  1. PyQt4编程之简短地做出多个选择框

    先看效果图 ---------------------------------------------------------------------------------------------- ...

  2. PyQt4编程之模态与非模态对话框(一)

    模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应.如单击[确定]或[取消]按钮等将该对话框关闭.---- ...

  3. PyQT4编程实例之小财务软件

    编写一个计算复利的对话框应用程序.做好的效果如下图 先上代码,然后讲解. import sys from PyQt4.QtGui import * from PyQt4.QtCore import * ...

  4. PyQt4编程之自定义插槽

    首先声明,这是学习了别人的文章后写的,原网址点击打开链接 简单地说,就是把上一篇中的 self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLO ...

  5. PyQt4编程之如何让状态栏显示信息

    赶快记录一下,只是懂皮毛,或许多积累就好了 import sys from PyQt4 import QtGuiclass MainWindow(QtGui.QMainWindow):def __in ...

  6. Android用表格布局做菜单栏,Android开发菜单布局之表格布局示例

    本文实例讲述了android开发菜单布局之表格布局.分享给大家供大家参考,具体如下: 多用于静态菜单页面 xml代码 代码内带详细解释 xmlns:android="http://schem ...

  7. html 树形结构_HTML学习之语义化标签

    语义类标签是什么,使用它有什么好处? 语义类标签也是大家工作中经常会用到的一类标签,它们的特点是视觉表现上互相都差不多,主要的区别在于它们表示了不同的语义,比如大家会经常见到的section.nav. ...

  8. python选择框格式_PyQt组合框选择性文本格式

    圣诞快乐伙计们!在 我不熟悉PyQt4编程,并且在大多数UI开发中使用Qt设计器.不过,我有一个特定的需求,需要通过Python代码填充QComboBox.另外,我想更改一些条目的文本格式(粗体,红色 ...

  9. 收集了一些python的文章

    转载自:http://blog.csdn.net/xyw_blog/article/details/9128777 newthreading - safer concurrency for Pytho ...

最新文章

  1. 对标英伟达,依图发布AI芯片“求索”
  2. 聊聊php定时计划任务
  3. Python subprocess模块
  4. LtScrollImageView:自动滚动的广告图片展示栏
  5. numpy.power()
  6. Android wifi驱动的移植 realtek 8188
  7. delphi 线程安全list_Java的中的集合(容器)-List
  8. 【JSP笔记】第四章 JSP内置对象【下】
  9. c盘清理代码_WIN10 C盘空间不够怎么办?几个小方法助你清理硬盘空间
  10. 沁恒CH32V307母板+OPA4377运放模块-开源
  11. 三阶魔方学习(新手入门)
  12. android手机锁屏密码忘记,安卓手机锁屏密码忘了怎么办 解决锁屏密码六种方法介绍...
  13. 国内免备案服务器有哪些?
  14. Mysql数据库主主从设置
  15. AOJ 15951 零件加工问题二
  16. c++怎么取消换行或回到上一行
  17. 银行数字化转型现状及问题
  18. 结构体是纸老虎,旧知识新用法,easy
  19. ANSYS电磁仿真软件
  20. 双11来临,阿里云大数据(数加)会出哪些绝招?

热门文章

  1. 自由自在珍珠奶茶 喝出缤纷夏季
  2. SAP已发票校验采购订单退货 - 特殊业务
  3. 【PP生产订单】入门介绍(十一)
  4. SAP 主生产计划(MPS)
  5. SAP HANA要改变什么?
  6. 后勤与FI集成的几个配置地方
  7. MONTH_NAMES_GET
  8. 今天才知道什么是柏拉图式的爱情
  9. 用“龙头”促发展,以“立体”筑生态,长沙生物医药产业集群跑出“加速度”
  10. 在内地城区经济发展中冒头,长沙雨花是如何做到的?