如何在Qt的widget上右键显示菜单

如何在Qt的widget上右键显示菜单

今天早上一来,我老大叫我在widget上点击右键加上一个菜单,并相应其响应的功能,因为我成刚接触Qt,所以看了下QtGUI编程这本书,做出来,记录下来,说不定哪天还用得上啊!

废话不多说,直接上代码:

方法一:

m_text = QTextCodec::codecForLocale();

ui->tableWidget->addAction(new QAction(m_text->toUnicode("设置为默认的服务器"), this));
ui->tableWidget->setContextMenuPolicy(Qt::ActionsContextMenu);

但是我在想,怎么响应菜单点击的选项那?如是就进行改写了,代码如下:

//m_set_default和m_redraw是定义的QAction对象,定义为类的属性

m_text = QTextCodec::codecForLocale();

m_set_default = new QAction(m_text->toUnicode("设置为默认的服务器"), this);//新津活动
m_redraw = new QAction(m_text->toUnicode("刷新"), this); //新建活动
ui->tableWidget->addAction(m_set_default);//添加活动
ui->tableWidget->addAction(m_redraw);//添加活动
ui->tableWidget->setContextMenuPolicy(Qt::ActionsContextMenu);//使用Qt::CustomContextMenu。表示需要自己写出右键显示菜单 

//响应刷新活动的信号和槽
connect(m_redraw, SIGNAL(triggered()), this, SLOT(right_redraw()));

之所以选择新建活动的方式而不用方法一的原因是为了方便建立信号和槽的关系,以便在槽中做出相应的处理,如上我是发出一个进行屏幕刷新的槽。

posted @ 2015-06-08 09:54 1点er执着 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值