我有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行是否有更快的替代方案?
答案 0 :(得分:0)
好的,我终于找出了为什么排序表需要很长时间:
每次填充表格后,我都会连接sortIndicatorChanged
信号,但绝不断开连接。解决方法是在填充表之前简单地断开连接,并在填充完成后再次连接它。