zoukankan      html  css  js  c++  java
  • 如何在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()));

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

    Do one thing at a time,and do well.
  • 相关阅读:
    筛选数据
    sed实现路径替换
    mask rcnn
    py faster rcnn+ 1080Ti+cudnn5.0
    反对迭代0:停止拖延,开始迭代
    故事点数是对工时的度量
    放弃在每日站会上按成员逐个发言
    So Easy!7000元Scrum认证课1元抢~
    用leangoo怎么做需求管理及规划?(产品Backlog、用户故事)
    怎么用leangoo做需求管理?(用户故事地图)
  • 原文地址:https://www.cnblogs.com/huiz/p/9610691.html
Copyright © 2011-2022 走看看