Qt QWidget右键菜单实例
来源:互联网 发布:张继科垃圾知乎 编辑:程序博客网 时间:2024/05/16 10:03
1.新建工程mouseRightPressItemTest,选择QWidget作为界面。
{
QCursor cur=this->cursor();
QMenu *menu=new QMenu(this);
menu->addAction(Act_Maxsize); //添加菜单项1
menu->addAction(Act_Normal); //添加菜单项2
menu->exec(cur.pos()); //关联到光标
}
此处注意Act_Maxsize,Act_Normal为在widget.h中声明的私有成员变量:
private:
Ui::Widget *ui;
QAction* Act_Maxsize;
QAction* Act_Normal;
同时在widget.h中添加头文件QACtion,在widget.cpp中添加头文件
#include <QMenu>
#include <QCursor>
3.初始化菜单项并关联槽函数
在widget.cpp中添加如下代码
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
Act_Maxsize = new QAction(tr("XML"), this);
Act_Normal = new QAction(tr("SHOW"), this);
connect(Act_Maxsize, SIGNAL(triggered()), this, SLOT(ADDChange()));
connect(Act_Normal, SIGNAL(triggered()), this, SLOT(XMLChange()));
}
4.实现槽函数,此处使用QDebug输出信息(注意添加#include <QDebug>)
在widget.h中添加私有槽函数(private slots)并实现如下
private slots:
void ADDChange()
{
qDebug()<<"XML Item Pressed.";
}
void XMLChange()
{
qDebug()<<"SHOW Item Pressed.";
}
最后编译运行,当右键单击点击XML菜单项时输出“XML Item Pressed.”;点击SHOW时输出"SHOW Item Pressed."。如果要实现其他右键菜单响应函数,则进行相应的编辑。
connect(Act_Maxsize, SIGNAL(triggered()), this, SLOT(ADDChange()));
- Qt QWidget右键菜单实例
- Qt QWidget右键菜单实例
- qt右键菜单的简单实例 ContextMenu
- Qt:QT右键菜单
- Qt:QT右键菜单
- 在QWidget 窗口上弹出右键菜单
- QT右键菜单
- qt 添加右键菜单
- QT右键菜单
- QT右键菜单(转)
- QT 鼠标右键菜单
- Qt右键菜单
- qt 右键菜单
- QT 鼠标右键菜单
- QT右键菜单
- Qt添加右键菜单
- Qt添加右键菜单
- QT 鼠标右键菜单
- objective-c 关键字和概念
- 关于青春
- TeamCity + Perforce 配置
- RLE压缩/解压缩 分析
- iOS多线程学习笔记之二:线程创建与启动
- Qt QWidget右键菜单实例
- KVO (Key-Value Observing) 键值观察模式
- android 实现蓝牙自动配对连接
- iOS多线程学习笔记之一:NSThread常用方法
- UTF8转unicode的例子和NSString包含其他字符(控制字符和前后空格)的处理
- 浅谈设备、驱动的加载和匹配
- HDU 4267 A Simple Problem with Integers(12年长春网络赛-A题-线段树)
- 借我一生
- 做技术做软件-----如何才能拿到上万的月薪