PyQt5 QTreeWidget输出到多个列

时间:2016-02-07 20:39:15

标签: pyqt5 qtreewidget

我将.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])])

1 个答案:

答案 0 :(得分: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

的顺序