有时候开发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 等在你界面添加。