2009-04-12 45 views
7

我在我的程序的主UI中有一個QTableView。我想在用戶右鍵單擊表格的單元格時顯示彈出菜單,並在從菜單中選擇一個選項時採取適當的操作。在QT中爲QTableView創建彈出菜單

我正在使用Qt Creator 1(Qt版本4.5)。我怎樣才能做到這一點?

回答

22

查看customContextMenuRequested信號以獲取該事件,並使用QMenu作爲菜單本身。使用QTableView::indexAt可以根據給定信號的座標找出單元格是否被點擊,並在單擊菜單項時採取適當的操作。

+2

您將需要調用menu.exec(const QPoint&)來顯示它。請確保將其轉換爲相應的座標: menu.exec(mapToGlobal(point),0) – 2010-03-04 00:11:00