Когда виджеты внутри QTableWidget
на самом деле не являются содержимым таблицы, они помещаются поверх нее, поэтому resizeColumnsToContents()
делает размер ячеек очень маленьким, поскольку он не учитывает размерВ этих виджетах resizeColumnsToContents()
учитывается содержимое, сгенерированное QTableWidgetItem
.
С другой стороны, если вы хотите установить высоту и ширину ячеек, вы должны использовать заголовки, в следующем примереразмер по умолчанию устанавливается с помощью setDefaultSectionSize()
:
class Widget(QtGui.QWidget):
def __init__(self):
super(Widget, self).__init__()
tableWidget = QtGui.QTableWidget(10, 2)
vh = tableWidget.verticalHeader()
vh.setDefaultSectionSize(100)
# vh.setResizeMode(QtGui.QHeaderView.Fixed)
hh = tableWidget.horizontalHeader()
hh.setDefaultSectionSize(100)
# hh.setResizeMode(QtGui.QHeaderView.Fixed)
tableWidget.setCellWidget(0, 1, ImgWidget1())
tableWidget.setCellWidget(1, 1, ImgWidget2())
lay = QtGui.QVBoxLayout(self)
lay.addWidget(tableWidget)
Если вы хотите, чтобы размер не мог изменяться пользователем, раскомментируйте строки.