包含頭檔案:
#include <QMenu>
#include <QAction>
在類定義中增加一個QMenu對象指針:
QMenu *table_widget_menu;
在父窗體構造函數中允許QTableWidget接收QWidget::customContextMenuRequested()信号。
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
生成所需要的右鍵菜單。
table_widget_menu = new QMenu(ui->tableWidget);
QAction *action = new QAction("Insert", this);
connect(action, SIGNAL(triggered()), this, SLOT(slotActionInsert()));
table_widget_menu->addAction(action);
action = new QAction("Remove", this);
connect(action, SIGNAL(triggered()), this, SLOT(slotActionRemove()));
table_widget_menu->addAction(action);
讓QTableWidget控件的QWidget::customContextMenuRequested()信号關聯上槽函數,在槽函數中調用顯示右鍵菜單。
void UserForm::on_tableWidget_customContextMenuRequested(const QPoint &pos)
{
table_widget_menu->exec(QCursor::pos());
}