2013-07-18 38 views
0

我有7個列的tableWidget(1.col - checkable項目,2.col-textEdit小部件,使用qTablewidgetItem填充文本的其他列)。對QTableWidget進行排序並將行重新設置爲內容

表被填充後,爲了能夠點擊任何一列的標題時對它進行排序,我這樣做:

tableWidget.setSortingEnabled(1) 
tableWidget.resizeRowsToContents() 
tableWidget.horizontalHeader().sortIndicatorChanged.connect(tableWidget.resizeRowsToContents) 

我的問題是:是最好的方式做到這一點? ,因爲當我有超過1000行時,需要幾秒鐘(最多5)來單擊標題時對錶進行排序。如果沒有第三行,排序會立即完成,但行的大小會變得混亂,內容被切斷或內容周圍的空白太多......所以,第3行有沒有更快的選擇?

回答

0

好的,我終於找出爲什麼需要這麼長的時間排序表: 每次填充表後我連接sortIndicatorChanged信號,但從不斷開它。解決方法是在填充表格之前簡單地斷開它並在填充完成後再次連接它。

+0

你可以把一個工作代碼? – wondie

相關問題