PyQt TableView 将图标居中对齐
PyQt TableView align Icons to Center
我有一个带图标的 QTableView,这些图标默认显示为左对齐,而我想将它们居中对齐。从 Qt 文档中,对齐仅发生在 Qt.role 下的 TextAlignment 中,仅具有 Qt.DisplayRole().
的作用
如何将带有 Qt.DecorationRole() 的图标的排列设置为居中。
一种可能的解决方案是使用委托:
class IconDelegate(QtWidgets.QStyledItemDelegate):
def initStyleOption(self, option, index):
super().initStyleOption(option, index)
option.decorationSize = option.rect.size()
delegate = IconDelegate(tableview)
tableview.setItemDelegate(delegate)
我有一个带图标的 QTableView,这些图标默认显示为左对齐,而我想将它们居中对齐。从 Qt 文档中,对齐仅发生在 Qt.role 下的 TextAlignment 中,仅具有 Qt.DisplayRole().
的作用如何将带有 Qt.DecorationRole() 的图标的排列设置为居中。
一种可能的解决方案是使用委托:
class IconDelegate(QtWidgets.QStyledItemDelegate):
def initStyleOption(self, option, index):
super().initStyleOption(option, index)
option.decorationSize = option.rect.size()
delegate = IconDelegate(tableview)
tableview.setItemDelegate(delegate)