我有一个带有图标的 QTableView,默认情况下这些图标显示为左对齐,而我想将它们对齐到中心。从 Qt 文档中,对齐仅发生在 Qt.role 下的 TextAlignment 中,仅具有 Qt.DisplayRole() 的角色。如何将对齐设置为具有 Qt.DecorationRole() 的图标的中心。
1 回答

米脂
TA贡献1836条经验 获得超3个赞
一种可能的解决方案是使用委托:
class IconDelegate(QtWidgets.QStyledItemDelegate):
def initStyleOption(self, option, index):
super().initStyleOption(option, index)
option.decorationSize = option.rect.size()
delegate = IconDelegate(tableview)
tableview.setItemDelegate(delegate)
添加回答
举报
0/150
提交
取消