PyQt5 QTreeWidget 输出到多列

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

我将 .ui 文件连接到 .py 脚本

class MainWindow(QMainWindow):
def __init__(self, *args):
    super(MainWindow, self).__init__(*args)
    loadUi('ui.ui', self)

现在我可以访问QTreeWidget,名为treeWidget1:

self.treeWidget1

如何分别输出文件名和扩展名到多列?

我找到了一些例子,但这里仅输出到第一列:

    for i in self.filesList1:
        if i.lower().endswith(tuple(ext_pattern)) and os.path.isfile(os.path.join(self.folder1, i)):
            row = os.path.splitext(i)
            self.treeWidget1.insertTopLevelItems(0, [QTreeWidgetItem(self.treeWidget1, ["%s" % i])])
pyqt5 qtreewidget
1个回答
0
投票

要为每行添加多列,请使用:

self.treeWidget1.insertTopLevelItems(0, [QTreeWidgetItem(self.treeWidget1, ["col1", "col2", "col3"])

"col1"
等替换为从您的文件名派生的适当字符串。

注意:使用

insertTopLevelItems(0, ...)
会将每个项目按顺序插入到树的顶部。您可能需要考虑使用:

self.treeWidget1.addTopLevelItem([QTreeWidgetItem(self.treeWidget1, ["col1", "col2", "col3"])])

而是保留

self.filesList1
的顺序。

© www.soinside.com 2019 - 2024. All rights reserved.