我有一個(gè)帶有圖標(biāo)的 QTableView,默認(rèn)情況下這些圖標(biāo)顯示為左對(duì)齊,而我想將它們對(duì)齊到中心。從 Qt 文檔中,對(duì)齊僅發(fā)生在 Qt.role 下的 TextAlignment 中,僅具有 Qt.DisplayRole() 的角色。如何將對(duì)齊設(shè)置為具有 Qt.DecorationRole() 的圖標(biāo)的中心。
1 回答

米脂
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
一種可能的解決方案是使用委托:
class IconDelegate(QtWidgets.QStyledItemDelegate):
def initStyleOption(self, option, index):
super().initStyleOption(option, index)
option.decorationSize = option.rect.size()
delegate = IconDelegate(tableview)
tableview.setItemDelegate(delegate)
添加回答
舉報(bào)
0/150
提交
取消