QTableWidget多選selectedItems和selectedRanges的使用和區別

  QTableWidget是QT程序中,常用的顯示數據表格控件,其用法也不再贅述,這裏就說一說多選接口的使用方法,區別和問題。

  首先,表格支持多選(Ctrl、Shift、  Ctrl+A都可以),需要對錶格進行屬性設置:

setSelectionMode(QAbstractItemView::ExtendedSelection);

  另外,還可以對選中模式進行設置,比如選中時,默認選中一行數據:

setSelectionBehavior(QAbstractItemView::SelectRows); 

  多選效果,如下圖所示:

  對於已經多選的單元格,如何進行獲取,接口提供了兩個:selectedItems和selectedRanges。

  對於上圖的選取結果,對比說明如下:

接口 selectedItems selectedRanges
返回結果 QList<QTableWidgetItem*> QList<QTableWidgetSelectionRange>
返回說明 選中單元格的,元素的列表 選中區域元素,邊界的列表
list.size() 20 3
區別 支持左鍵、Ctrl+左鍵、Ctrl+A 和 Shift+左鍵 選中 只支持 左鍵 選中的,比如Shift+左鍵,最終只返回 兩端 的單元格

  最後注意,選取的單元格數據是有了,但如果進行操作時候,特別是刪除,一定要從後往前,即從最大索引,忘最小索引處,進行操作,不然會引發異常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章