`
jimmykuu
  • 浏览: 36956 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PyQt中如何隐藏Menu

    博客分类:
  • PyQt
阅读更多

PyQt中隐藏一个Menu Item,可以通过QAction的setVisible(False)来设置,而QMenu的setVisible(False)是不管用的。

 

现在问题来了,我们有一个菜单,它有一些子菜单,如何隐藏它呢?

 

fileMenu = self.menuBar().addMenu('File')
self.newMenu = fileMenu.addMenu('New')
self.newMenu.addAction('New Work')
self.newMenu.addAction('New Excel')

 

这时通过self.newMenu.setVisible(False),并不能达到目的,要解决这个问题,还得通过QAction的setVisible(False)来处理。

 

新建一个QMenu对象,然后通过QAction addMenu (self, QMenu)来得到QAction对象。

 

fileMenu = self.menuBar().addMenu('File')
self.newMenu = QtGui.QMenu(fileMenu)
self.newMenu.setTitle('New')
self.newMenu.addAction('New Word')
self.newMenu.addAction('New Excel')
self.newAction = fileMenu.addMenu(self.newMenu)
 

 这时再通过这个QAction对象的setVisible(False)就可以了。

 

测试代码如下:

 

# -*- coding: utf-8 -*-
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)
        fileMenu = self.menuBar().addMenu('File')
        self.newMenu = QtGui.QMenu(fileMenu)
        self.newMenu.setTitle('New')
        self.newMenu.addAction('New Word')
        self.newMenu.addAction('New Excel')
        self.newAction = fileMenu.addMenu(self.newMenu)
        self.saveAction = fileMenu.addAction('Save')
        
        editMenu = self.menuBar().addMenu('Edit')
        hideAction = editMenu.addAction('Hide')
        self.connect(hideAction, QtCore.SIGNAL('triggered()'), self.hideMenu)
        
    def hideMenu(self):
        self.newAction.setVisible(False)
        self.saveAction.setVisible(False)
    
if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())
 
分享到:
评论

相关推荐

    对pyqt5之menu和action的使用详解

    如下所示: exitAct = QAction(QIcon('exit.png'), '&Exit', self) exitAct.setShortcut('Ctrl+Q') exitAct.setStatusTip('Exit application') QAction is an abstraction for actionsperformed with a menubar, ...

    PyQt5入门教程

    PyQt5是Python编程语言中用于构建图形用户界面(GUI)的应用程序的一个强大框架。它是Qt库的Python绑定,由Riverbank Computing开发并维护。PyQt5提供了丰富的组件和功能,使得开发者能够创建出美观、交互性强的桌面...

    PyQt5源码.rar

    包含基本PYQT5所有示例源代码,其中有basic示例、calendar_time、containers、controls、designer、dialogs、drapclip、drawing、 ext、layout、menu_toolbar_statusbar、multithread等等

    PyQt5-QWidgets部件进阶教程之图标资源

    在PyQt5中,QWidgets是图形用户界面(GUI)编程的核心组件,它们构成了应用程序的基础元素,如按钮、标签、文本框等。本教程将深入探讨如何在PyQt5的QWidgets部件中使用图标资源,以提升应用的视觉效果和用户体验。 ...

    pyqt制作的个性化菜单

    在PyQt框架中,开发人员可以利用Python的强大灵活性和Qt的丰富UI库来创建高度定制化的用户界面。标题“pyqt制作的个性化菜单”表明我们将探讨如何使用PyQt来构建一个具有独特特性的菜单系统。描述中提到的“实现了除...

    PyQt(Python+Qt)学习随笔:Action功能详解及Designer中的操作方法.rar

    在PyQt框架中,Qt Designer是一个强大的工具,用于可视化地构建图形用户界面(GUI)。而Action是Qt库中一个核心的概念,它在GUI设计中扮演着至关重要的角色。本篇文章将深入探讨PyQt中Action的功能及其在Qt Designer...

    一个用python写的命令生成器,利用pyqt库

    在描述中提到的"pyqt库使用",意味着这个项目中可能包含PyQT的多种功能使用,如窗口(Window)、按钮(Button)、文本框(LineEdit)、标签(Label)、菜单(Menu)等组件的创建和交互,以及事件处理(Event ...

    PyQT实现菜单中的复制,全选和清空的功能的方法

    在PyQT中,创建丰富的图形用户界面(GUI)应用程序时,常常需要实现各种常见的文本操作,如复制、全选和清空。PyQT是Python语言对Qt库的封装,提供了丰富的组件和工具来构建这样的应用。本文将详细介绍如何在PyQT的...

    PyQt5(8)之控件QPushButton.pdf

    在PyQt5中,`QPushButton`是一个非常基础且重要的控件,它继承自`QAbstractButton`,提供了创建按钮的功能。按钮可以包含图标和文本,同时也支持一系列的交互操作,如点击事件、关联菜单等。 1. **QPushButton简介*...

    对PyQt5中的菜单栏和工具栏实例详解

    ### PyQt5中的菜单栏和工具栏实例详解 #### 一、引言 PyQt5 是一个广泛使用的Python库,用于构建跨平台的图形用户界面(GUI)。它基于Qt框架,并提供了大量的类和函数来帮助开发者轻松地开发出功能丰富的应用程序。...

    Python 使用PyQt5 完成选择文件或目录的对话框方法

    1. **导入模块**:首先导入了`PyQt5.QtWidgets`和`PyQt5.QtGui`中的组件。 2. **主窗口类定义**:定义了一个名为`Example`的`QMainWindow`子类,用于设置窗口布局及功能。 3. **初始化界面**:`initUI`方法中设置了...

    PyQt5中QTableWidget如何弹出菜单的示例代码

    在PyQt5中,QTableWidget是一个非常实用的控件,用于展示二维表格数据。它提供了丰富的功能,如编辑、排序、选择等。在实际应用中,我们常常需要在用户右键点击表格某个单元格时弹出一个上下文菜单,以便提供更多的...

    python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例

    在Python图形用户界面(GUI)开发中,特别是在使用PyQt5时,打印功能是许多应用程序的重要组成部分。PyQt5提供了多种强大的工具来帮助开发者轻松实现打印功能,其中最常用的就是`QPrinter`类。 `QPrinter`是PyQt5...

    python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例

    在Python GUI开发中,PyQt5是一款非常强大的工具包,它支持创建丰富的图形用户界面(GUI)。其中一个重要的组成部分是`QStatusBar`,即状态栏控件,通常位于窗口的底部,用于显示应用的状态信息、消息或者操作结果等...

    python之PyQt按钮右键菜单功能的实现代码

    而PyQt中的GUI元素,如按钮(QPushButton),可以实现自定义功能,比如设置右键菜单。右键菜单(上下文菜单)是一种常见的用户界面元素,当用户对某个控件执行右键操作时,会弹出一个菜单供用户选择。 在PyQt中,...

    python3+PyQt5 数据库编程--增删改实例

    在软件开发领域,特别是桌面应用程序的设计与实现过程中,利用Python结合PyQt进行GUI(图形用户界面)编程变得越来越流行。Python以其简洁易读的语法和强大的第三方库支持而闻名,而PyQt则为Python提供了丰富的GUI...

    pyqt5实现按钮添加背景图片以及背景图片的切换方法

    对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种 self.button.setStyleSheet(QPushButton{background-image: url(img/1.png)}) 然而对于这种方法背景图片无法进行边框...

    pyqt5 实现 下拉菜单 + 打开文件的示例代码

    在PyQT5中,创建一个带有下拉菜单和文件打开功能的应用程序是常见的需求。本文将通过一个示例代码详细讲解如何实现这一功能。 首先,我们需要导入必要的库,包括`sys`、`os`以及PyQT5的`QtCore`、`QtGui`和`Qt...

    ListView实现二级菜单

    在布局文件中,你需要为每个ListView定义对应的item布局,例如`menu_item.xml`和`submenu_item.xml`,分别表示一级菜单和二级菜单的样式。 最后,为了提高用户体验,可以在一级菜单的ListView中使用HeaderView来...

Global site tag (gtag.js) - Google Analytics