0
我想要有QAbstractItemView
,只允許用ctrl
按鈕切換多選項目。我不能使用QAbstractItemView::ExtandedSelection
,因爲它還允許通過將鼠標拖到它們上方來選擇多個項目。多選表格,無需選擇鼠標拖動
我想要有QAbstractItemView
,只允許用ctrl
按鈕切換多選項目。我不能使用QAbstractItemView::ExtandedSelection
,因爲它還允許通過將鼠標拖到它們上方來選擇多個項目。多選表格,無需選擇鼠標拖動
我假設你使用的是QTableView
您可以覆蓋QTableView
然後用mouseMoveEvent
巧妙,以確保用戶無法通過拖動進行多重選擇!
如果用戶按下鼠標左鍵進入mouseMoveEvent
,您可以選擇吃東西而不將它傳遞給QTableView
,這將消除多重選擇的可能性。
例如
void
TableView::mouseMoveEvent(QMouseEvent * inEvent)
{
// Deliberately commented to not to pass this event to parent to avoid multiple selection
// QTableView(inEvent);
inEvent->accept();
}
這可能會爲你工作,你也可能要在mouseMoveEvent
小心,當你做上面mousePressEvent你必須做同樣爲mouseReleaseEvent
爲好。
雖然這只是一個理論,但應該工作!