2012-06-10 105 views
1

鼠標右鍵,我有以下選擇設置表格視圖:選擇在QTableView中

setSelectionBehavior(QAbstractItemView::SelectRows); 
setSelectionMode(QAbstractItemView::ExtendedSelection); 

這樣我可以選擇通過點擊和懸停鼠標左鍵幾行。

但是,這種行爲與拖放操作相沖突,這就是我們在Windows資源管理器中看到的情況。

我想讓用戶選擇右邊的行鼠標左鍵,並用鼠標左鍵拖動它們(就像Total Commander一樣)。

我該怎麼做?

回答

0

如果你還沒有,子類化你正在使用的任何內置表視圖(可能是QTableView),並重新實現mousePressEvent(QMouseEvent* event)mouseReleaseEvent(QMouseEvent* event)來修改當前選擇。

+0

我有一個子類,我只是覺得可能有一個更簡單的選項。重新定義鼠標事件需要禁止使用鼠標左鍵進行選擇,以及執行鼠標右鍵選擇。 – Alex