我有一個快速的問題。我想根據點擊哪一列來攔截具有不同行爲的樹視圖上的點擊事件。我相信有一個信號可以通過模型指數......但是如何識別列?謝謝您的幫助。QT QTreeView點擊特定列上的事件
1
A
回答
1
檢查QTreeView中使用的QItemSelectionModel以處理行o列中的選擇或單擊事件。使您的樹視圖可選,並使用其中一個默認信號。你有3個不同的信號處理click事件:
void currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
void currentColumnChanged(const QModelIndex ¤t, const QModelIndex &previous)
void currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous)
手柄,定製插槽信號,並使用QModelIndex參數來獲取當前行和索引。例如:
void MainWindow::elementClicked(const QModelIndex& current, const QModelIndex& previous) {
const int row = current.row();
const int column = current.column();
qDebug() << "Clicked at " << row << column;
}
+0
謝謝。你是什麼意思: 檢查QItemSelectionModel中使用的QTreeView ? –
+0
我附加的信號是QItemSelectionModel類的信號。 QTreeView有一個默認的QItemSelectionModel,用於通知樹中選定/取消選擇的每個項目。因此請檢查:http://doc.qt.io/qt-5/qitemselectionmodel.html和http://doc.qt.io/qt-5.7/qtreeview-members.html – mohabouje
相關問題
- 1. 限制特定列的點擊事件
- 2. Qt 5.3 QTreeView可點擊標題數據
- 3. Emberjs單擊特定DOM上的事件
- 4. 在特定div外的頁面上隨處點擊事件
- 5. 單擊按鈕上的Qt C++事件
- 6. iframe上的點擊事件?
- 7. 如何更新checkBox上特定行的特定表列點擊
- 8. 在ItemsControl上綁定CommandParameter點擊事件
- 9. 在固定標題上點擊事件
- 10. 取消綁定和綁定特定屏幕寬度上的點擊事件
- 11. 在QTreeView中爲特定項目添加右鍵單擊菜單
- 12. 點擊jQuery序列事件
- 13. 如何在graphsharp中的特定頂點上設置鼠標點擊事件?
- 14. ContextMenu MenuItems在點擊事件上連續添加點擊事件
- 15. 延遲上(「點擊」)事件
- 16. 在BitmapField上點擊事件
- 17. Jquery點擊事件綁定事件
- 18. ios上的「點擊」事件上的HTML
- 19. 正確的點擊事件
- 20. 綁定事件點擊
- 21. jquery:綁定「點擊」事件
- 22. Qt - 覆蓋QTreeView :: drawBranches()
- 23. 自定義QTreeview擴展事件方法
- 24. jQuery的隱藏特定的錶行的onclick點擊事件
- 25. 用於QTreeView的Qt StyleSheet
- 26. 鏈接QTreeView和QTableView的Qt
- 27. QTreeView中的非可點擊項目?
- 28. Qt - 具有複選框列的QTreeView和自定義模型
- 29. QTableWidget setSortingEnabled在特定列上Qt
- 30. Qt 5.5構建自定義QTreeView
我想我找到了答案.. index.column()正確嗎? –