Qt创建右键菜单的问题

有时候开发Qt程序中,总是遗忘对某个界面的属性配置。

  • 在创建Qt右键菜单的时候,第一要检查contextMenuPolicy属性是否改成CustomContextMenu。或在你的父窗体中的初始化函数中添加:
ui->tableinfo->setContextMenuPolicy(Qt::CustomContextMenu); //在父窗口允许接收信号

tableinfo 这里你界面上控件。

  • 在你的控件里点击右键,转到槽函数 customContextMenuRequested(const QPoint &pos) 
    Q_UNUSED(pos)
    QMenu *menuList = new QMenu(this);
    //添加菜单项
    menuList->addAction(ui->act_clear);
    menuList->addAction(ui->act_save);
    menuList->addAction(ui->act_message);
    menuList->addSeparator();
    menuList->addAction(ui->act_car_state);
    menuList->exec(QCursor::pos()); //在当前光标下显示
    delete menuList;
}

ui->act_clear 等在你界面添加。

发布了26 篇原创文章 · 获赞 7 · 访问量 4299

猜你喜欢

转载自blog.csdn.net/weixin_42126427/article/details/104410010