首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用QstandardItem设置原始图标?

如何用QstandardItem设置原始图标?
EN

Stack Overflow用户
提问于 2021-06-16 14:59:33
回答 1查看 20关注 0票数 0

首先,我使用Pyside2,我想让QListView在默认窗口中看到图标,比如QFilesystemModel。QFilesystemModel不可用的原因是因为它希望跨多个路径显示文件夹中的项目。我们使用QStandardItem的appendRow特性实现了这一目标。但是,Windows的默认文件夹、文件和图标无法导入到seticon。

如何使用QStandardItem设置图标在Windows中的外观

这是我的代码。

代码语言:javascript
复制
class CustomListView(QListView):
    def __init__(self):
        super().__init__()

    def setup_model(self, paths):
        self.model = QStandardItemModel()

        for path in paths:
            path = os.listdir(path)
            
            for file in path:
                item = QStandardItem(file)
                self.model.appendRow(item)

        self.setModel(self.model)
EN

回答 1

Stack Overflow用户

发布于 2021-06-16 15:13:22

您必须使用根据与文件或文件夹关联的QFileInfo返回图标的QFileIconProvider

代码语言:javascript
复制
import os

from PySide2.QtCore import QFileInfo
from PySide2.QtGui import QStandardItem, QStandardItemModel
from PySide2.QtWidgets import QApplication, QFileIconProvider, QListView


class CustomListView(QListView):
    def __init__(self):
        super().__init__()
        self.model = QStandardItemModel()
        self.setModel(self.model)
        self.icon_provider = QFileIconProvider()

    def setup_model(self, paths):
        self.model.clear()
        for path in paths:
            dirs = os.listdir(path)
            for name in dirs:
                filename = os.path.join(path, name)
                icon = self.icon_provider.icon(QFileInfo(filename))
                item = QStandardItem(name)
                item.setIcon(icon)
                self.model.appendRow(item)


def main():
    app = QApplication()
    view = CustomListView()
    view.resize(640, 480)
    view.show()

    view.setup_model(["/home/user/", "/home/user/Pictures"])

    app.exec_()


if __name__ == "__main__":
    main()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67997817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档