gpt4 book ai didi

Python Qt QFileDialog::getopenFileNames - 文件选择顺序

转载 作者:行者123 更新时间:2023-12-01 05:59:57 25 4
gpt4 key购买 nike

我正在编写一个小的 Python 代码来连接文本文件,并且选择这些文件作为用户输入。但重要的是,我要获取用户选择的顺序,因为我想按所选顺序加入文件。但我看到 getOpenFileNames 返回的列表不保留选择顺序。

有人对捕获选择顺序有任何建议吗?

谢谢。

最佳答案

我最初想建议为跟踪选择的 currentChanged 信号编写一个回调,但在使用 getOpenFileNames 时似乎不会调用该信号。另一种方法是使用 show() 显示对话框并将回调连接到 filesSelected,该回调在用户单击对话框上的“打开”按钮后调用。回调的参数是一个包含所选文件的列表,这些文件似乎按照选择的顺序排列(刚刚在 python3/pyqt4 上测试过)。

def callback(files):
joined_files = ''.join([open(f).read() for f in files])
do_something_with(joined_files)

dialog = QtGui.QFileDialog()
dialog.setFileMode(3) #allow selection of multiple files
dialog.filesSelected.connect(callback)
dialog.show()

这样做的一个问题是,顺序不会以简单的方式向用户指示 - "file"文本框包含有序文件的名称,但当您选择多个文件时,这会很困惑。一种更好但稍微复杂的方法是构建一个小部件或对话框,其中包含用于选择文件的 FileDialog 和保存要处理的文件的 List/TableWidget,用户可以一次添加一个文件。这将允许更好的概览以及从多个目录中轻松选择文件和更好的可扩展性(例如过滤、重新排列、对选择进行排序)。

关于Python Qt QFileDialog::getopenFileNames - 文件选择顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10969486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com