Qt中treewidget使用右键菜单功能

本文介绍了如何在Qt的TreeWidget中添加右键菜单功能,通过设置Qt::ContextMenuPolicy为Qt::CustomContextMenu来触发自定义信号,并提供了一个实例,展示了针对不同节点右键点击时显示不同选项的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考1

参考2

void setContextMenuPolicy( Qt::ContextMenuPolicy policy)  

该函数可以设置右键菜单的具体模式,一般需要自己写槽函数的都需要设置Qt::ContextMenuPolicy的枚举值为Qt::CustomContextMenu

这个枚举意味着会发出一个信号:
void QWidget::customContextMenuRequested(const QPoint & pos) [signal]  但其只是发送信号,所以要自己去写槽函数slot。槽函数来显示右键菜单,右键菜单显示在pos的位置。

下面写一个实例:

头文件

#include <QtWidgets/QMainWindow>
#include <QMenu>
#include <QPoint>
#include <QTreeWidgetItem>
#include "ui_menu_test.h"

class menu_test : public QMainWindow
{
	Q_OBJECT

public:
	menu_test(QWidget *parent = Q_NULLPTR);
	QMenu* popMenu;
	QTreeWidgetItem* curItem;
private:
	Ui::menu_testClass ui;
public slots:
	void sltShowPopMenu(const QPoint&);
	void getname1();
	void getname2();
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值