Python 按QFileDialog.getExistingDirectory Pyqt5中的数字排序

Python 按QFileDialog.getExistingDirectory Pyqt5中的数字排序,python,pyqt5,Python,Pyqt5,我想用以下代码显示文件夹中的任何内容: self.file = str(QFileDialog.getExistingDirectory(None, "Select Image Directory", dirpath)) model = QFileSystemModel() model.setRootPath(QDir.currentPath()) 我需要按数字排序的文件 [1,101001000,2,20200..]至[1,2,10,20100200..] 如何执行此操作???您需要使用QS

我想用以下代码显示文件夹中的任何内容:

self.file = str(QFileDialog.getExistingDirectory(None, "Select Image Directory", dirpath))
model = QFileSystemModel()
model.setRootPath(QDir.currentPath())
我需要按数字排序的文件

[1,101001000,2,20200..]至[1,2,10,20100200..]


如何执行此操作???

您需要使用
QSortFilterProxyModel
QFileSystemModel
上获得自定义排序。这可以通过在子类中重新实现来实现。使用此方法涉及的问题很多。是否要在自定义文件列表视图或“文件”对话框中显示已排序的列表?在第一种情况下,@ekhumoro建议的解决方案是一个很好的起点,但在第二种情况下是不可能的,因为
getExistingDirectory
是一个静态函数,它创建的对话框无法控制其排序机制。@musicamante只有坚持使用静态函数,这才是不可能的。否则,就没有了,对,我不清楚,对不起。