首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从一个QFileSystemModel填充多个QComboBox?

从一个QFileSystemModel填充多个QComboBox的方法如下:

  1. 创建一个QFileSystemModel对象,并设置其根目录为要浏览的文件系统目录。
代码语言:txt
复制
model = QFileSystemModel()
model.setRootPath("/path/to/directory")
  1. 创建多个QComboBox对象,并为每个QComboBox设置一个model。
代码语言:txt
复制
combo_box1 = QComboBox()
combo_box1.setModel(model)

combo_box2 = QComboBox()
combo_box2.setModel(model)

# 创建更多的QComboBox对象...
  1. 为每个QComboBox设置一个过滤器,以限制显示的文件类型。
代码语言:txt
复制
combo_box1.setNameFilters(["*.txt", "*.doc"])
combo_box1.setNameFilterDisables(False)

combo_box2.setNameFilters(["*.jpg", "*.png"])
combo_box2.setNameFilterDisables(False)

# 设置更多的过滤器...
  1. 为每个QComboBox设置一个选择模式,以确定用户可以选择的项目数量。
代码语言:txt
复制
combo_box1.setView(QListView())
combo_box1.setViewMode(QComboBox.DropDown)

combo_box2.setView(QListView())
combo_box2.setViewMode(QComboBox.DropDown)

# 设置更多的选择模式...
  1. 如果需要,可以为每个QComboBox设置一个排序器,以按名称对项目进行排序。
代码语言:txt
复制
combo_box1.model().sort(0, Qt.AscendingOrder)
combo_box2.model().sort(0, Qt.AscendingOrder)

# 设置更多的排序器...

通过以上步骤,你可以从一个QFileSystemModel填充多个QComboBox,并根据需要设置过滤器、选择模式和排序器。这样,每个QComboBox将显示指定目录中的文件,并且用户可以从中选择文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Qt ListView 配合Model 显示文件与删除文件

    表格、列表和树型窗口部件是 GUI 开发中经常会用到的窗口部件。这些窗口部件有两种不同的方式来获取数据。传统的方式是窗口部件本身包含用于存储数据的内置容器。这种方式非常符合直观感受,然而,在许多复杂的应用中,这将导致数据的同步问题。第二种方式是模型/视图编程,窗口部件无需维护内部的数据容器。它们通过标准的接口获取外部数据,也因此避免了数据的重复。这在一开始可能会显得复杂,然而一旦你更仔细地观察之后,它不但很容易理解,而且它所具有的很多优点也会逐渐变得清晰明了。(翻译自Model/View Tutorial,具体更多信息可参见Qt的Model/View Tutorial)

    05
    领券