gpt4 book ai didi

python - 如何将最后一个列标题设置为固定大小并维护它

转载 作者:行者123 更新时间:2023-12-01 05:05:17 25 4
gpt4 key购买 nike

下面的代码创建了具有 7(实际上是 8)列的 QTreeWidget

我希望将最后一列 #7 用作间隔符。因此,当调整对话框大小时,第 6 列和 TreeWidget 右边缘之间始终存在填充(一定距离)。由于默认情况下,最后一列及其标题会不断调整为无穷大。相反,我希望最后一列及其标题保持其固定大小,而第 6 列将调整大小。它看起来确实很丑陋,最后一个列标题突然在 QTreewidget 的右边缘结束。如果无法将最后一个标题/列保持固定大小,我想知道是否有其他方法可以实现相同的目的:保留最后一列,其标题从树列表小部件的右边缘填充。

这是默认的外观:

enter image description here

这是我正在寻找的 Photoshop 版本:

enter image description here

from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])

class Tree(QtGui.QTreeWidget):
def __init__(self, *args, **kwargs):
super(Tree, self).__init__()
names=['Zero','One','Two','Three','Four','Five','Six','Seven']
self.setColumnCount(len(names))
self.setHeaderLabels(names)
item=QtGui.QTreeWidgetItem(names)
self.addTopLevelItem(item)
self.setColumnWidth(7, 32)
self.resize(720,120)
self.show()
tree=Tree()
sys.exit(app.exec_())

最佳答案

好的,我有解决方案。首先,禁用拉伸(stretch)最后一个部分并选择调整列大小。

myQTreeWidget = QtGui.QTreeWidget()
.
.
.
myQHeaderView = myQTreeWidget.header()
myQHeaderView.setStretchLastSection(False)
myQHeaderView.setResizeMode(6, QtGui.QHeaderView.Stretch)
<小时/>

QHeaderView.setResizeMode方法引用:http://pyqt.sourceforge.net/Docs/PyQt4/qheaderview.html#setResizeMode

QHeaderView.setResizeMode 枚举引用:http://pyqt.sourceforge.net/Docs/PyQt4/qheaderview.html#ResizeMode-enum

<小时/>

实现您的代码;

from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])

class Tree(QtGui.QTreeWidget):
def __init__(self, *args, **kwargs):
super(Tree, self).__init__()
names=['Zero','One','Two','Three','Four','Five','Six','Seven']
self.setColumnCount(len(names))
self.setHeaderLabels(names)
item=QtGui.QTreeWidgetItem(names)
self.addTopLevelItem(item)
self.header().setStretchLastSection(False)
self.header().setResizeMode(6, QtGui.QHeaderView.Stretch)
self.resize(720,120)
self.show()
tree=Tree()
sys.exit(app.exec_())
<小时/>

问候,

关于python - 如何将最后一个列标题设置为固定大小并维护它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com