2013-07-18 35 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

相关问题