PyQt5 QTreeWidget 输出到多个列



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

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

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

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])])

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

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

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

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

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

而是为了保持self.filesList1的顺序。

最新更新