在表格单元格中设置 SVG 图标的大小
Posted
技术标签:
【中文标题】在表格单元格中设置 SVG 图标的大小【英文标题】:Setting the size of an SVG icon in a table cell 【发布时间】:2014-07-15 12:17:06 【问题描述】:我想增加显示在 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】:你应该添加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 答案。
【讨论】:
谢谢!有什么方法可以单独控制图标的大小,而不是为整个表格定义全局大小? 有趣的是,这也不会影响标题中的图标。有什么处理这个问题的建议吗?以上是关于在表格单元格中设置 SVG 图标的大小的主要内容,如果未能解决你的问题,请参考以下文章