使用QStandardItemModel时如何给Qtreeview的头加上偏移量

问题描述 投票:0回答:1

[在将Qtreeview()QStandardItemModel()一起使用时遇到标题对齐的问题,我希望标题显示像在将Qtreeview()QFileSystemModel()一起使用时一样。

这是我现在拥有的:Qtreeview()QStandardItemModel()

“”

这里是将Qtreeview()QFileSystemModel()一起使用的结果:

“

我尝试使用:self.treeView.header().setDefaultAlignment(Qt.AlignRight | Qt.AlignVCenter)。但是它与Qt.AlignRight只是有一些变化。

我也尝试使用“名称”代替“名称”,但仍然有一点区别。

python pyqt pyqt5
1个回答
0
投票

似乎QFileSystemModel向第一个标题部分添加了默认的透明装饰(“图标”)。我不知道为什么,因为根据消息来源,它总是空的。

无论如何,解决方案是创建您自己的透明图标,该图标将用作假边距,并将其设置为第一个标题部分的装饰:

model = QtGui.QStandardItemModel()
model.setHorizontalHeaderLabels(['Name'])

fakeMargin = QtGui.QPixmap(16, 1)
fakeMargin.fill(QtCore.Qt.transparent)
model.setHeaderData(0, QtCore.Qt.Horizontal, fakeMargin, QtCore.Qt.DecorationRole)
© www.soinside.com 2019 - 2024. All rights reserved.