问题标签 [qfiledialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pyqt:如何在 QFileDialog 中获得对按钮的一致访问
我一直在为我的基于 PyQt 的项目开发一些调试/测试基础设施。我用特殊的调试属性标记了大多数小部件,即使小部件是在 C++ 端创建的。
但是,多次访问 a 中的同一个按钮QFileDialog
似乎会产生新的sip 包装器实例。也就是说,如果我多次访问“取消”按钮,PyQt 不会每次都返回相同的 Python 对象。
这是可用于重现该问题的最小测试程序:
我希望这可以编程输出如下内容:
...但是,这就是我实际看到的。注意cancelButton
对象每次的地址都不一样,而且我添加的调试属性丢失了:
所以看起来 PyQt 正在“丢失”它之前创建的 Python 对象,然后为每次重复访问创建一个“新”对象。这是预期的吗?
顺便说一句,此测试程序在 Mac OS X (10.7) 和 Linux (Ubuntu 12) 上的行为相同。我正在使用 PyQt 4.8.5。
c++ - 根据特定条件禁用/启用 QFileDialog 的选择按钮
我有一个 QFileDialog 提示用户选择一个目录。我正在运行 QT 版本 4.3.5。我也没有升级的选项。
我希望用户只能选择包含两个具有特定名称的文件的目录。如果它不包含这两个特定文件,则类似于禁用“选择”按钮。
我所做的搜索只是让我找到了过滤结果的方法,这不是我想要做的,因为用户需要能够浏览所有目录和所有子目录。如果选择了目录,则应根据上述标准检查是否禁用/启用“选择”按钮。
就像我说的,我发现的唯一半封闭解决方案在这个线程QFileDialog 中解释了具有某些内容的目录 或这个线程qfiledialog - Filtering Folders?
我的问题的这两个半解决方案都需要使用 QFileSystemModel,直到 QT 4.4 才引入。
如何根据所选/激活的目录是否包含两个特定文件来启用/禁用 QFileDialog::Directory 设置为 FileMode 的 QFileDialog 的“选择”按钮?
谢谢
qt - 非 QT 应用程序中的 QFileDialog
我有一个使用 3rd 方 GUI 框架的应用程序,但我想使用 QFileDialog 打开文件。我正在考虑实例化一个不可见的 QWidget 子类,用于提供对话框。
有一个更好的方法吗?
python - 在 Python QT 的新窗口中打开一个目录
嗨,我想通过 python QT 代码打开一个新窗口。目前我正在尝试 QFileialog getOpenFileName 和 getExistingDirectory 但是它们都没有按预期工作。只需使用给定的路径打开一个新窗口。
c++ - Qt:隐藏 getSaveFileName 中的文件夹
我想在QFileDialog::getSaveFileName
不允许选择路径或至少隐藏文件夹的情况下保存文件。阅读我试图设置QFileDialog::ShowDirsOnly
为这样的选项的文档:
但它不起作用,或者这不是我想要的。
有没有一种方法可以保存文件而不能在系统中查找位置并QFileDialog::getSaveFileName
请使用?或者我是否需要构建自己的 QFileDialog,我将在其中写入文件名?
我希望有人能理解我的问题。
qt - Qt 远程文件浏览器
我想知道是否有人使用过 Qt 远程文件浏览器。据我了解,我有两种选择;
- 当涉及到远程文件时,将 QFileDilaog 与自定义代理模型一起使用。该模型将负责提供远程文件/目录结构。
- 使用自定义对话框,并为本地文件提供标准文件系统模型,为远程文件提供自定义模型。
在这两种情况下,获取远程文件/目录列表的过程都可以使用 QNetworkAccess 管理器来完成。
有没有人研究过类似的概念,我是否朝着正确的方向前进?任何建议将不胜感激。
qt - Qt QFileDialog 文件被禁用
我正在创建一个 QFileDialog,但我无法选择任何文件。我可以选择文件夹,但不能选择文件。我正在使用 PyQt5,但可以轻松地在其他语言之间进行翻译,所以任何事情都有帮助。我的代码如下:
matplotlib - 调用 PyQt4.QFileDialog.getOpenFileNames() 后 PyPlot show() 真的很慢
对于分析应用程序,我正在尝试:
- 使用 PyQt4 QFileDialog 从用户那里获取文件名列表
- 从每个文件中提取一些数据
- 使用 pyplot 绘制聚合数据
但是,以这种方式获取文件名会导致 pyplot.show() 花费非常非常长的时间。我已将问题提炼为以下测试用例:
请注意,我什至没有对这里的文件名做任何事情——只是获取它们。
从对话框中选择单个文件会导致 10 秒的绘图时间。有趣的是,show() 完成所需的时间与所选文件的数量大致呈线性关系。对于 10 个文件,图表显示大约需要 67 秒。
对于从少数文件中绘制数据来说,这并不是什么大问题,但是当汇总来自有数千个文件的 Monte Carlo 模拟的数据时,绘图可能需要数小时才能显示出来。告诉 matplotlib 使用 Qt4Agg 后端会导致相同的行为。
如果我注释掉对 getOpenFileNames 的调用,脚本将在一秒钟内完成。
我正在运行以下版本的相关软件包(应该是最新的):
- 蟒蛇 2.7
- matplotlib 1.3.1
- python-sip 4.13.2-1
- python-qt4 4.9.1-2ubuntu1
- python-sip-dev 4.13.2-1
- python-qt4-dev 4.9.1-2ubuntu1
我卸载了 sip、qt4 并重新安装了它们——同样的问题。我已经在两台不同的机器上看到了这个问题——它们都运行 32 位 Ubuntu 12.04。
任何帮助将不胜感激 - 我浪费了令人尴尬的时间等待情节显示。
更新:
- 所选文件的类型和名称似乎无关紧要。
- 取消或退出文件对话框不会导致延迟并立即打印。
- 以 sudo 运行脚本可以解决这个问题;但是,当我以 sudo 运行时,文件对话框看起来不同,并且可能使用了不同的 gui 后端,这与 pyplot 对 PyQt 的使用不冲突,因此可能是一个红鲱鱼。
- 该程序不会在 getOpenFileNames 中挂起,它会在使用 PyQt 的下一个调用中挂起。无论是绘图还是另一个文件对话框似乎都无关紧要 - 第一个文件对话框会阻止两者。
- 运行对话框后调用 app.processEvents() 没有帮助。
- 使用 PySide 代替 PyQt4 会导致相同的行为。
- 使用 getOpenFileName 而不是 getOpenFileNames 会导致相同的行为。
- 使用 DontUseNativeDialog 选项运行 getOpenFileNames 有效(无延迟)
- 其他 QFileDialog 选项都没有任何效果(ShowDirsOnly、DontResolveSymlinks、DontConfirmOverwrite、ReadOnly、HideNameFilterDetails、DontUseSheet)
python - 我尝试使用 QFileDialog 在 PyQt 上选择一个文件,但它不运行
我是stackoverflow的新手。我在 PyQt 上有一个 MainWindow,我想单击一个按钮并打开一个 QFileDialog 来选择一个文件。问题是:如果我使用 MainWindow,QFileDialog 不会运行。如果我使用 Dialog,QFileDialog 运行。
这是我的 MainWindow 代码。
这是对话框的代码。在这里,我使用 pyuic4 (QTDesigner) 在 .py 生成中编写代码
这是 Vannucci_Gemignani.py:
c++ - QFileDialog 不显示假脱机文件夹
我要求用户使用 QFileDialog 选择一个文件夹:
我希望用户能够选择所有文件夹,但是在 QFileDialog 中找不到 C:/Windows/System32/spool/,我怀疑可能还有其他文件夹。
我曾尝试设置标志QFileDialog::HideNameFilterDetails
以查看隐藏文件,但这并不能解决问题。
这个问题有解决方案吗?