Ale*_*dar 1 python signal-handling pyqt4 qtablewidget
在用我用于self.ui.tableWidget.resizeRowToContents
每一行的一些文本填充 tableWidget 时。之后 and: self.ui.tableWidget.setSortingEnabled(1)
,sorting 按预期工作,但行不再根据内容调整大小,实际上它们保留了以前的高度。
name name v name v
--------- --------- ---------
text2 text1line1 text1line1
--------- after sort is clicked: --------- expected: text1line2
text1line1 text1line3
text1line2 text2 ---------
text1line3 text2
--------- --------- ---------
Run Code Online (Sandbox Code Playgroud)
我的想法是在单击标题中的排序时捕获信号,然后再次self.ui.tableWidget.resizeRowToContents
遍历所有行。
如何捕捉该信号?
无需resizeRowToContents
为添加的每一行调用。
相反,在表格填满后,调用resizeRowsToContents
插槽,它将一次调整所有行的大小。
然后,您可以将同一插槽连接到sortIndicatorChanged
信号,以便在对列进行排序时调整行的大小:
# ... fill table, then:
self.ui.tableWidget.setSortingEnabled(True)
self.ui.tableWidget.resizeRowsToContents()
self.ui.tableWidget.horizontalHeader().sortIndicatorChanged.connect(
self.ui.tableWidget.resizeRowsToContents)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3053 次 |
最近记录: |