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_())
分享到:
相关推荐
如下所示: 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是Python编程语言中用于构建图形用户界面(GUI)的应用程序的一个强大框架。它是Qt库的Python绑定,由Riverbank Computing开发并维护。PyQt5提供了丰富的组件和功能,使得开发者能够创建出美观、交互性强的桌面...
包含基本PYQT5所有示例源代码,其中有basic示例、calendar_time、containers、controls、designer、dialogs、drapclip、drawing、 ext、layout、menu_toolbar_statusbar、multithread等等
在PyQt5中,QWidgets是图形用户界面(GUI)编程的核心组件,它们构成了应用程序的基础元素,如按钮、标签、文本框等。本教程将深入探讨如何在PyQt5的QWidgets部件中使用图标资源,以提升应用的视觉效果和用户体验。 ...
在PyQt框架中,开发人员可以利用Python的强大灵活性和Qt的丰富UI库来创建高度定制化的用户界面。标题“pyqt制作的个性化菜单”表明我们将探讨如何使用PyQt来构建一个具有独特特性的菜单系统。描述中提到的“实现了除...
在PyQt框架中,Qt Designer是一个强大的工具,用于可视化地构建图形用户界面(GUI)。而Action是Qt库中一个核心的概念,它在GUI设计中扮演着至关重要的角色。本篇文章将深入探讨PyQt中Action的功能及其在Qt Designer...
在描述中提到的"pyqt库使用",意味着这个项目中可能包含PyQT的多种功能使用,如窗口(Window)、按钮(Button)、文本框(LineEdit)、标签(Label)、菜单(Menu)等组件的创建和交互,以及事件处理(Event ...
在PyQT中,创建丰富的图形用户界面(GUI)应用程序时,常常需要实现各种常见的文本操作,如复制、全选和清空。PyQT是Python语言对Qt库的封装,提供了丰富的组件和工具来构建这样的应用。本文将详细介绍如何在PyQT的...
在PyQt5中,`QPushButton`是一个非常基础且重要的控件,它继承自`QAbstractButton`,提供了创建按钮的功能。按钮可以包含图标和文本,同时也支持一系列的交互操作,如点击事件、关联菜单等。 1. **QPushButton简介*...
### PyQt5中的菜单栏和工具栏实例详解 #### 一、引言 PyQt5 是一个广泛使用的Python库,用于构建跨平台的图形用户界面(GUI)。它基于Qt框架,并提供了大量的类和函数来帮助开发者轻松地开发出功能丰富的应用程序。...
1. **导入模块**:首先导入了`PyQt5.QtWidgets`和`PyQt5.QtGui`中的组件。 2. **主窗口类定义**:定义了一个名为`Example`的`QMainWindow`子类,用于设置窗口布局及功能。 3. **初始化界面**:`initUI`方法中设置了...
在PyQt5中,QTableWidget是一个非常实用的控件,用于展示二维表格数据。它提供了丰富的功能,如编辑、排序、选择等。在实际应用中,我们常常需要在用户右键点击表格某个单元格时弹出一个上下文菜单,以便提供更多的...
在Python图形用户界面(GUI)开发中,特别是在使用PyQt5时,打印功能是许多应用程序的重要组成部分。PyQt5提供了多种强大的工具来帮助开发者轻松实现打印功能,其中最常用的就是`QPrinter`类。 `QPrinter`是PyQt5...
在Python GUI开发中,PyQt5是一款非常强大的工具包,它支持创建丰富的图形用户界面(GUI)。其中一个重要的组成部分是`QStatusBar`,即状态栏控件,通常位于窗口的底部,用于显示应用的状态信息、消息或者操作结果等...
而PyQt中的GUI元素,如按钮(QPushButton),可以实现自定义功能,比如设置右键菜单。右键菜单(上下文菜单)是一种常见的用户界面元素,当用户对某个控件执行右键操作时,会弹出一个菜单供用户选择。 在PyQt中,...
在软件开发领域,特别是桌面应用程序的设计与实现过程中,利用Python结合PyQt进行GUI(图形用户界面)编程变得越来越流行。Python以其简洁易读的语法和强大的第三方库支持而闻名,而PyQt则为Python提供了丰富的GUI...
对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种 self.button.setStyleSheet(QPushButton{background-image: url(img/1.png)}) 然而对于这种方法背景图片无法进行边框...
在PyQT5中,创建一个带有下拉菜单和文件打开功能的应用程序是常见的需求。本文将通过一个示例代码详细讲解如何实现这一功能。 首先,我们需要导入必要的库,包括`sys`、`os`以及PyQT5的`QtCore`、`QtGui`和`Qt...
在布局文件中,你需要为每个ListView定义对应的item布局,例如`menu_item.xml`和`submenu_item.xml`,分别表示一级菜单和二级菜单的样式。 最后,为了提高用户体验,可以在一级菜单的ListView中使用HeaderView来...