文章目錄
- 一、自繪區域邊框
- 1.1、效果展示
- 2.2、問題整理
- 2.2.1、重繪單元格選擇區
- 2.2.2、選擇區域的大小
一、自繪區域邊框
1.1、效果展示
單選
多選
2.2、問題整理
2.2.1、重繪單元格選擇區
誤區: 繼承QStyledItemDelegate重寫paint,測試發現只能在單元格內繪制。
通過繼承QTableView,重構paintEvent實現區域邊框的重繪
2.2.2、選擇區域的大小
QRect QAbstractItemView::visualRect(const QModelIndex &index) const
使用該函數獲取到的QRect取寬高操作,得到的只是視覺上的一個大小,
繪制單個單元格或少量的單元格的區域時,不會出現問題,但當選擇區域變大時,繪出的選擇邊框會隨著區域越大,誤差越大,繪出的邊框會小于選擇的區域