【发布时间】:2020-05-23 22:55:11
【问题描述】:
我正在尝试编写一个 PyQt5 小部件,它将成为应用程序内的基本预设管理器。我正在尝试使用 QTreeWidget 来显示每种类型的结构。我有这个奇怪的问题,我看到一个额外的 QTreeWidget,在我的 QTreeWidget 之外有一列名为“1”。我附上了一张图片(对不起,我无法截屏)和代码。我还注意到,如果我不使用类,则不会发生这种情况。
这是我显示问题的测试代码:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class MyTree(QtWidgets.QTreeWidget):
def __init__(self, parent = None):
super(self.__class__, self).__init__(parent)
boxLayout = QtWidgets.QVBoxLayout()
treeWidget = QtWidgets.QTreeWidget()
treeWidget.setHeaderLabels(['Preset Name'])
treeWidget.setColumnCount(1)
items = []
for i in range(10):
items.append(QtWidgets.QTreeWidgetItem(["item {0}".format(i)]))
treeWidget.insertTopLevelItems(0, items)
boxLayout.addWidget(treeWidget)
self.setLayout(boxLayout)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = MyTree()
w.show()
sys.exit(app.exec_())
这就是我所看到的:
我最好的猜测是导致它的布局,因为如果我像这样创建 QTreeWidget:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
app = QtWidgets.QApplication(sys.argv)
treeWidget = QtWidgets.QTreeWidget()
treeWidget.setHeaderLabels(['Preset Name'])
treeWidget.setColumnCount(1)
items = []
for i in range(10):
items.append(QtWidgets.QTreeWidgetItem(["item {0}".format(i)]))
treeWidget.insertTopLevelItems(0, items)
treeWidget.show()
sys.exit(app.exec_())
这就是我所看到的:
任何想法如何让它像第二张图片一样显示,来自一个类?
非常感谢任何帮助
【问题讨论】:
标签: python user-interface pyqt5 qtreewidget