QTableView批量調整行高重新整理效率問題解決

2021-08-08 21:01:21 字數 702 閱讀 1235

專案中使用model-view模型,當拖拽邊框拉伸**或者最大化最小化時希望能調整顯示內容、自適應行高,可是當資料量較大時(最大2w條以上),qtableview重新整理卡頓。

簡單粗暴,直接攔截視窗調整事件後調整所有行行高:

關於事件管理器可參考前文,自定義qtableview滑鼠滾輪行為

void protocoltester::resizeevent(qresizeevent *event)

拖拽邊框時僅調整當前顯示介面的行高,解決了資料量大時批量調整的卡頓問題,介面又如絲般順滑。

宣告輔助變數

int exchangetableview_firstrow;//記錄當前報文互動介面第一行的行號

int exchangetableview_lastrow;//記錄當前報文互動介面最後一行的行號

視窗大小調整時,動態調整行高

void protocoltester::resizeevent(qresizeevent *event)

}exchangetableview_firstrow = firstrow;//更新當前顯示範圍

exchangetableview_lastrow = lastrow;

}}

同理,當滑動滑鼠滑標或者拖動scrollbar時調整當前顯示介面的行高。

oracle 調整 行高度

之前之所以找不到調整行高度的命令,是因為不需要 比如col stuname for a10 如果stuname有11個位元組的話,那麼第11個就會另起一行輸出,所以看起來就像每行中間空了一行一樣 我的猜測 具體我也不太確定,只是我的推測,以後如果找到具體的出處,就補上。通過調整col的顯示來讓結果緊...

談談CListCtrl如何調整行高

調整clistctrl 行高通常有3種方法 1.設定字型 2.設定 3.處理measureitem訊息。這裡只是談一談第3種方法,對於clistctrl 來說,它只支援owner draw fixed 而不像clistbox 既支援owner draw fixed也支援owner draw vari...

mysql調整行順序 MySQL按順序獲得行位置

mysql按順序獲得行位置 使用以下mysql表 id int unsigned name varchar 100 如何選擇單株行及其在表中其他行中的位置 按name asc.因此,如果表資料如下所示,則按名稱排序時 id name 5 alpha 7 beta 3 delta 1 zed 如何選擇...