QTableView是一個比較實用的類,下面教給大家如何在QTableView中添加右鍵菜單。
#include <QMenu>
#include <QAction>
QTableView *tableview;
QMenu *rightMenu; //右鍵菜單
QAction *cutAction; //剪切
QAction *copyAction; //復制
QAction *pasteAction; //粘貼
QAction *deleteAction; //刪除
private slots:
void clicked_rightMenu(const QPoint &pos); //右鍵信號槽函數
tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);//設置單元格不可編輯
tableview->setContextMenuPolicy(Qt::CustomContextMenu); //少這句,右鍵沒有任何反應的。
createRightMenu(); //創建一個右鍵菜單
connect(tableview,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(clicked_rightMenu(QPoint)));
其中createRightMenu函數:
rightMenu = new QMenu;
cutAction = new QAction("剪切",this);
copyAction = new QAction("復制",this);
pasteAction = new QAction("粘貼",this);
deleteAction = new QAction("刪除",this);
rightMenu->addAction(cutAction);
rightMenu->addAction(copyAction);
rightMenu->addAction(pasteAction);
rightMenu->addAction(deleteAction);
clicked_rightMenu槽函數:
rightMenu->exec(QCursor::pos());