当前位置:网站首页>Right click menu of QT
Right click menu of QT
2022-07-02 08:50:00 【Code pirate captain】
Qt QWidget Right click menu
QWidget And inheriting its class Qt Class by using void setContextMenuPolicy(Qt::ContextMenuPolicy) Enumeration settings right-click menu ,Qt::ContextMenuPolicy The enumeration of includes NoContextMenu,DefaultContextMenu,ActionsContextMenu,CustomContextMenu,PreventContextMenu Five types .
| enumeration | type |
|---|---|
| Qt::NoContextMenu | Part right-click menu , The processing of the right-click menu will be transferred to the parent of the part . |
| Qt::PreventContextMenu | There is no right-click menu for components , And NoContextMenu contrary , Processing is not deferred to the parent of the part . This means that all right mouse button events are guaranteed to pass QWidget::MousePresseEvent() and QWidget::mouseReleaseEvent() Passed to the widget itself . |
| Qt::DefaultContextMenu | Call the... Of the part QWidget::contextMenuEvent() The handler . |
| Qt::ActionsContextMenu | The component will QWidget::actions() Display as context menu . |
| Qt::CustomContextMenu | Components send QWidget::customContextMenuRequested() The signal . |
DefaultContextMenu Use
Set up DefaultContextMenu After the type , Rewritable contextMenuEvent(QContextMenuEvent *event) event , Call menu
void ZPushButton::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *mpMenu = new QMenu(this);
QAction* m_actionOne = new QAction(this);
QAction* m_actionTwo = new QAction(this);
QAction* m_actionThree = new QAction(this);
m_actionOne->setText("ActionOne");
m_actionTwo->setText("ActionTwo");
m_actionThree->setText("ActionThree");
mpMenu->addAction(m_actionOne);
mpMenu->addAction(m_actionTwo);
mpMenu->addAction(m_actionThree);
mpMenu->exec(QCursor::pos());// Displays... At the current mouse position
}
ActionsContextMenu Use
Use Qt::ActionsContextMenu, Add... Directly to the class QAction
setContextMenuPolicy(Qt::ActionsContextMenu);
QAction* m_actionOne = new QAction(this);
QAction* m_actionTwo = new QAction(this);
QAction* m_actionThree = new QAction(this);
m_actionOne->setText("ActionOne");
m_actionTwo->setText("ActionTwo");
m_actionThree->setText("ActionThree");
addAction(m_actionOne);
addAction(m_actionTwo);
addAction(m_actionThree);
connect(m_actionOne, SIGNAL(triggered()), this, SLOT(actionOneSlot()));
connect(m_actionTwo, SIGNAL(triggered()), this, SLOT(actionTwoSlot()));
connect(m_actionThree, SIGNAL(triggered()), this, SLOT(actionThreeSlot()));
Add the above code to the constructor of the form part , You can call the right-click menu .
CustomContextMenu Use
setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu);
connect(this,&ZPushButton::customContextMenuRequested,[this](const QPoint &pos){
qDebug()<<"pos:"<<pos;
QMenu *mpMenu = new QMenu(this);
QAction* m_actionOne = new QAction(this);
QAction* m_actionTwo = new QAction(this);
QAction* m_actionThree = new QAction(this);
m_actionOne->setText("ActionOne");
m_actionTwo->setText("ActionTwo");
m_actionThree->setText("ActionThree");
mpMenu->addAction(m_actionOne);
mpMenu->addAction(m_actionTwo);
mpMenu->addAction(m_actionThree);
mpMenu->exec(QCursor::pos());// Displays... At the current mouse position
});
边栏推荐
- OpenFeign 简单使用
- Realization of basic function of sequence table
- sqli-labs(POST类型注入)
- What is SQL injection
- Sqli labs (post type injection)
- Openshift deployment application
- Realize bidirectional linked list (with puppet node)
- Kubesphere virtualization KSV installation experience
- 一个经典约瑟夫问题的分析与解答
- File upload Labs
猜你喜欢
随机推荐
Web security -- core defense mechanism
Gateway is easy to use
OpenShift 容器平台社区版 OKD 4.10.0部署
什么是SQL注入
Minecraft install resource pack
IP protocol and IP address
小米电视不能访问电脑共享文件的解决方案
C# 百度地图,高德地图,Google地图(GPS) 经纬度转换
HCIA—應用層
Flex layout
Openshift build image
Service de groupe minecraft
kubernetes部署loki日志系统
Nacos download, start and configure MySQL database
Zipkin is easy to use
Classes and objects (instantiation of classes and classes, this, static keyword, encapsulation)
C call system sound beep~
Makefile Fundamentals
Tensorflow2 keras classification model
一个经典约瑟夫问题的分析与解答









