[在将Qtreeview()
与QStandardItemModel()
一起使用时遇到标题对齐的问题,我希望标题显示像在将Qtreeview()
与QFileSystemModel()
一起使用时一样。
这是我现在拥有的:Qtreeview()
和QStandardItemModel()
这里是将Qtreeview()
和QFileSystemModel()
一起使用的结果:
我尝试使用:self.treeView.header().setDefaultAlignment(Qt.AlignRight | Qt.AlignVCenter)
。但是它与Qt.AlignRight
只是有一些变化。
我也尝试使用“名称”代替“名称”,但仍然有一点区别。
似乎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)