场景应用说明例如: 监控界面布局一堆设备,并且通过鼠标右键点击之后,弹出下拉菜单,通过选择菜单项,实现选中设备的控制;
1、下面代码示例,通过自定义控件并创建控件的右键下拉菜单的方式实现。
#include <QApplication>
#include <QWidget>
#include <QContextMenuEvent>
class MyWidget : public QWidget {
Q_OBJECT
protected:
void contextMenuEvent(QContextMenuEvent *event) override
{
// 创建一个右键菜单
QMenu menu(this);
QAction *addAct = menu.addAction("添加");
QAction *removeAct = menu.addAction("移除");
// 将菜单显示在鼠标点击的位置
QAction* selectedAction = menu.exec(event->globalPos());
if (selectedAction == addAct)
{
// 处理添加动作
} else if (selectedAction == removeAct)
{
// 处理移除动作