其他分享
首页 > 其他分享> > Qt右键菜单

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信号与槽函数。

标签:Widget,菜单,Qt,##,QAction,右键,mun
来源: https://www.cnblogs.com/mc-r/p/15468722.html