0

私はQTableWidgetを持っており、それらを表示するために1つの列にQSvgWidgetを含む.svgファイルを入力しました。

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 に答える