在表格单元格中设置 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 图标的大小的主要内容,如果未能解决你的问题,请参考以下文章

谷歌表格,脚本在一个单元格中设置多个超链接

Python-docx,如何在表格中设置单元格宽度?

如何在 xcode 6 中设置表格单元格颜色?

在自定义表格视图单元格中设置 UIButton 的高度

如何在表格分类器中设置固定表格宽度(不是单元格)?

iOS - 带有 UITextView 的表格视图单元格未正确调整大小