qt tableview中如何添加右鍵菜單且不可編輯單元格


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM