0

我有 QTableWidget 并且我已经用 .svg 文件填充了一列,并使用 QSvgWidget 来显示它们:

for...
    svgWidget = QSvgWidget("C:\mySVG.svg")
    self.ui.tableWidget.setCellWidget(i, j, svgWidget)
...

其他列填充了一些文本,当我尝试使用时出现问题

self.ui.tableWidget.resizeRowsToContents()

svgWidget 正在被拉伸(我需要保留纵横比)......所以,我设置了最大尺寸,svgWidget.setMaximumSize(svgWidget.sizeHint())现在每行的高度都设置为该行中 svgWidget 的高度,所以如果有更多文本被剪切,但我可以手动拉伸任何行的高度以查看文本,正如我预期的那样,使用 svgWidget 在单元格中添加空白。我的问题是为什么resizeRowsToContents()不做这项工作(为什么不能自动添加空格?)。例子将不胜感激,我已经用谷歌搜索了这个,没有例子。

4

1 回答 1

0

我已经这样解决了:

self.ui.tableWidget.setSortingEnabled(0)
...populating table columns with text and svgWidgets....
self.ui.tableWidget.setSortingEnabled(1)
self.ui.tableWidget.horizontalHeader().sortIndicatorChanged.connect(self.ui.tableWidget.resizeRowsToContents)

出于某种原因,任何其他订单都不适合我。

于 2013-06-04T09:24:48.667 回答