在表格单元格中设置SVG图标的大小

时间:2014-07-15 12:17:06

标签: user-interface pyside qtgui

我想增加在PySide / Qt表格单元格内显示的SVG图标的大小

    icon = QtGui.QIcon('icon.svg')
    entry = QtGui.QTableWidgetItem()
    entry.setIcon(icon)
    entry.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
    table.setItem(row_index, column_index, entry)

我尝试的任何东西都不会增加显示的SVG的大小。它目前显示为一个非常小的图标,似乎也忽略了对齐。 QIcon文档说项目可以缩放,所以必须有办法。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您应该添加table.setIconSize(QSize(w, h)(如果您使用QTableWidget)和entry.setSizeHint(QSize(w, h),文档here,就像这样:

table.setIconSize(QSize(50, 50))
icon = QtGui.QIcon('icon.svg')
entry = QtGui.QTableWidgetItem()
entry.setSizeHint(QSize(50, 50))
entry.setIcon(icon)
entry.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
table.setItem(row_index, column_index, entry)

我不敢改变对齐方式(也许可以自定义QTableWidget类)。如果必须进行对齐,则可以使用QTableWidget.setCellWidget(),请参阅this answer。