对QTableWidget进行排序并将行大小调整为内容

时间:2013-07-18 07:17:43

标签: pyqt4 qtablewidget

我有7个列的tableWidget(1。col - checkable items,2。col - textEdit widgets,其他用qTablewidgetItem填充文本的列)。

填充表后,为了能够在单击任何列的标题时对其进行排序,我执行此操作:

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

我的问题是:这是最好的方法吗?因为当我有超过1000行时,点击标题时需要几秒钟(最多5个)排序表。如果没有第三行,则立即进行排序,但行的大小混乱,内容被切断或内容周围的空白太多......所以,第3行是否有更快的替代方案?

1 个答案:

答案 0 :(得分:0)

好的,我终于找出了为什么排序表需要很长时间: 每次填充表格后,我都会连接sortIndicatorChanged信号,但绝不断开连接。解决方法是在填充表之前简单地断开连接,并在填充完成后再次连接它。