天天看點

QTableWidget添加右鍵菜單的詳細過程

包含頭檔案:

#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());
}
           

繼續閱讀