QT主窗体右键弹出下拉菜单方法
2012-04-19 09:43
253 查看
From:http://hi.baidu.com/qinpanke/blog/item/9b6441a60dd3409cd043584f.html
QT主窗体右键弹出下拉菜单方法(我的主窗体的类名是CGuiMainwindow):
QT主窗体右键弹出下拉菜单方法(我的主窗体的类名是CGuiMainwindow):
voidCGuiMainwindow::contextMenuEvent(QContextMenuEvent*e)
{
QMenu*menu=newQMenu();
menu->addSeparator();
menu->addSeparator();
menu->addAction(Act_Maxsize);
menu->addSeparator();
menu->addSeparator();
menu->addAction(Act_Normal);
menu->addSeparator();
menu->addSeparator();
menu->exec(e->globalPos());
deletemenu;
}
其中Act_Maxsize和Act_Normal是两个QAction对象指针。我的定义和初始化如下:
QAction*Act_Maxsize;
QAction*Act_Normal;
Act_Maxsize=newQAction(tr("XML"),this);
Act_Maxsize->setIcon(QIcon("Resources/logo.png"));
Act_Normal=newQAction(tr("SHOW"),this);
Act_Normal->setIcon(QIcon("Resources/logo.png"));
connect(Act_Maxsize,SIGNAL(triggered()),this,SLOT(ADDChange()));
connect(Act_Normal,SIGNAL(triggered()),this,SLOT(XMLChange()));
QT内置控件添加右键菜单方法(以QTreeWidget添加右键菜单为例):
connect(moduleTree,SIGNAL(itemPressed(QTreeWidgetItem*,int)),
this,SLOT(SlotItemClicked(QTreeWidgetItem*,int)));
实现槽函数
voidCGuiMainwindow::SlotItemClicked(QTreeWidgetItem*item,intcolumn){
if(qApp->mouseButtons()==Qt::LeftButton)
{
return;
}
if(qApp->mouseButtons()==Qt::RightButton)
{
if(item->childCount()>0)
{
return;
}
ShowMenu();
}
}
实现菜单显示功能函数:
voidCGuiMainwindow::ShowMenu()
{
QPointpos;
QMenumenu(moduleTree);
QIconmyIcon("Resources/logo.png");
menu.addAction(myIcon,tr("菜单_1"));
menu.addAction(myIcon,tr("菜单_2"));
menu.addAction(myIcon,tr("菜单_3"));
menu.addAction(myIcon,tr("菜单_4"));
menu.addAction(myIcon,tr("菜单_5"));
menu.addAction(myIcon,tr("菜单_6"));
menu.exec(QCursor::pos());
}
相关文章推荐
- QT主窗体右键弹出下拉菜单方法
- Windows系统中对弹出菜单、下拉菜单、右键菜单截图的方法
- QT右键菜单、右键下拉菜单、各控件响应右键菜单方法简介 【百度空间】
- QT右键菜单、右键下拉菜单、各控件响应右键菜单方法简介(转)
- Qt 不规则窗体 – 鼠标点击穿透(Linux也可以,有对x11的配置的方法)
- Qt:在指定区域显示右键弹出菜单
- VS2008编程软件过期的问题,过期弹出须要升级窗体的解决的方法
- LinkButton想弹出提示窗体后再执行后台方法
- Qt中设置窗体大小的方法
- 两种方法:VS2008下C++窗体程序显示控制台的方法——在QT程序中使用cout和cin
- 将QT右键弹出菜单选项设为不可用(灰色)
- Qt 4.x实现QMenu菜单向上弹出菜单方法
- QT 窗体控件的透明度设置(三种方法)
- SDL窗体嵌入到MFC/QT窗口控件上的方法总结
- web弹出窗体方法
- Qt 中设置窗体透明度的几种方法
- Qt 中设置窗体透明度的几种方法
- Qt弹出标准对话框的方法
- 2种快捷菜单的设计方法(右键弹出)
- javascript自定义右键弹出菜单实现方法