Qt右键菜单

Qt默认不开启菜单

思路

  1. 允许启用自定义菜单
  2. 定义菜单
  3. 定义菜单中的动作的信号与槽
## 头文件
private:
    Ui::Widget *ui;

    QMenu *mun = nullptr;

private slots:
    void openMneu();
	
## 源文件
    // ---> 使用自定义右键菜单
    this->setContextMenuPolicy(Qt::CustomContextMenu); 
    // ---> 绑定信号
    connect(this,&Widget::customContextMenuRequested, this, &Widget::openMneu);
    // ---> 右键菜单
    mun = new QMenu();
	
## 槽函数

void Widget::openMneu()
{
    QAction exp1("动作1", this);
    QAction exp2("动作2", this);
    mun->addAction(&exp1);
    mun->addAction(&exp2);
    mun->exec(QCursor::pos());
}

菜单中的两个动作可以再绑定QAction的triggered信号与槽函数。

上一篇:QT对Label控件实现鼠标的单击和右击事件处理


下一篇:QT(传视频的雏形,连续传图片)