Вставка QSvgWidget в ячейку QTableWidget

Что я хочу сделать, так это загрузить файл .svg и показать (рендерить) его в ячейке qtableWidget. Первую часть я сделал так:

svgWidget = QSvgWidget("C:\mySVG.svg")
svgWidget.setMaximumSize(100,100)

следующая строка отображает svg так, как я ожидал:

widget.show()

но когда я пробовал это:

self.ui.tableWidget.setItem(i, j, QtGui.QTableWidgetItem(svgWidget))
self.ui.tableWidget.setItem(i, j, svgWidget)

ни одна из этих строк не вставляет svgWidget в ячейку tableWidget. Как мне это сделать? Буду признателен за примеры, я все еще нуб.


person Aleksandar    schedule 11.10.2012    source источник


Ответы (1)


это должно работать:

self.ui.tableWidget.setCellWidget(i, j, svgWidget)
person Ashwani Kumar    schedule 11.10.2012
comment
Спасибо. Теперь у меня есть еще одна проблема: в других столбцах у меня есть текст, а self.ui.tableWidget.resizeRowsToContents() растягивает высоту svgWidget . Есть ли способ добавить пробел в ячейку, чтобы resizeRowsToContents() не влиял на svgWidget, или заблокировать соотношение сторон svgWidget? Погуглил и попробовал второй, но безуспешно(ничего не получилось): qsp = QSizePolicy(QSizePolicy.Preferred,QSizePolicy.Preferred) qsp.setHeightForWidth(True) svgWidget.setSizePolicy(qsp) - person Aleksandar; 12.10.2012