菜单栏QMenuBar

介绍

在QMainWindow对象的标题栏下方,水平的QmenuBar被保留QMenu对象。
QMenu类提供了一个key添加到菜单栏的小控件,也用于创建上下文菜单和弹出菜单。每个QMenu对象都可以包含一个或多个QAction对象或级联的QMenu对象。
要创建一个弹出菜单,PyQt API提供了createPopupMenu()函数;menuBar()函数用于返回主窗口的QMenuBar对象;addMenu()函数可以将菜单添加到菜单栏中;通过addAction()函数可以在菜单中进行添加操作。

方法

方法描述
menuBar()返回主窗口的QmenuBar对象
addMenu()在菜单栏中添加一个新的QMenu对象
addAction()向Qmenu小控件中添加一个操作按钮,其中包含文本或图标
setEnabled()将操作按钮状态设置为启用/禁用
addSeperator()在菜单中添加一条分割线
clear()删除菜单/菜单栏的内容
setShortcut()将快捷键关联到操作按钮
setText()设置菜单项的文本
setTitle()设置QMenu小控件的标题
text()返回与QAction对象关联的文本
title()返回Qmenu小控件的标题

单击任何QAction按钮时,QMenu对象都会发射triggered信号。

代码

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class MenuDemo(QMainWindow):
	def __init__(self,parent=None):
		super(MenuDemo,self).__init__(parent)
		layout = QHBoxLayout()
		bar = self.menuBar()
		file = bar.addMenu("File")
		file.addAction("New")
		save = QAction("Save",self)
		save.setShortcut("Ctrl+S")
		file.addAction(save)
		edit = file.addMenu("Edit")
		edit.addAction("copy")
		edit.addAction("paste")
		quit = QAction("Quit",self)
		file.addAction(quit)
		file.triggered[QAction].connect(self.processtrigger)
		self.setLayout(layout)
		self.setWindowTitle("menu例子")
	
	def processtrigger(self,q):
		print(q.text()+" is triggered")
	
if __name__ == "__main__":
	app = QApplication(sys.argv)
	demo = MenuDemo()
	demo.show()
	sys.exit(app.exec_())

展示

菜单栏

后记

发现截图的时候打不开,打开的时候不能截图,所以就这样了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值