给QPushButton添加二级菜单

                      欢迎关注公众号可以查看更多完整文章

给QPushButton添加菜单的示例四种方式:

Qt学习之给QPushButton添加菜单ActionsContextMenu方法

Qt学习之给QPushButton添加菜单CustomContextMenu方法

Qt学习之给QPushButton添加菜单DefaultContextMenu方法

QPushButton下拉式菜单(是否取消下拉三角,是否check)

所谓二级菜单,相信大家也都知道,就是子菜单。实现效果如下:

实现子菜单需要创建新的QMenu,有几个子菜单,就需要创建几个QMenu对象。还不算主菜单的QMenu对象。

需要先声明,再进行创建,代码实现如下:

QMenu *m_menu;
	QAction *m_addAction;
	QAction *m_delAction;
	QAction *m_subAction;//此动作显示子菜单

	QMenu *m_subMenu;//子菜单
	QAction *m_subAdd;
	QAction *m_subDel;
m_menu = new QMenu(this);
	m_addAction = new QAction(m_menu);
	m_subAction = new QAction(m_menu);
	m_delAction = new QAction(m_menu);
	m_addAction->setCheckable(true);//是否可以check
	m_delAction->setCheckable(true);//是否可以check
	m_addAction->setText(QObject::tr("添加"));
	m_subAction->setText(QObject::tr("子菜单"));
	m_delAction->setText(QObject::tr("删除"));
	m_menu->addAction(m_addAction);
	m_menu->addAction(m_delAction);
	m_menu->addAction(m_subAction);
	connect(m_addAction, &QAction::triggered, this, &ButtonMenu::addFunc);
	connect(m_delAction, &QAction::triggered, this, &ButtonMenu::delFunc);

	m_subMenu = new QMenu(this);
	m_subAdd = new QAction(m_subMenu);
	m_subDel = new QAction(m_subMenu);
	m_subAdd->setText(QObject::tr("子添加"));
	m_subDel->setText(QObject::tr("子删除"));
	m_subMenu->addAction(m_subAdd);
	m_subMenu->addAction(m_subDel);
	m_subAction->setMenu(m_subMenu);

交流QQ:1245178753

本文地址:给QPushButton添加二级菜单_GreenArrowMan-CSDN博客-CSDN博客

源码下载:QPushButton下拉式二级菜单.zip_qt二级按钮-C++代码类资源-CSDN下载

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreenArrowMan

请打钱~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值