【问题标题】:Enabling the QT/PyQt QFileDialog "select all" keyboard shortcut on OSX?在 OSX 上启用 QT/PyQt QFileDialog“全选”键盘快捷键?
【发布时间】:2015-12-03 03:55:00
【问题描述】:

我正在使用使用 QFileDialog 打开文件对话框的 PyQt(版本 4.11.4)开发跨平台应用程序。文件对话框都可以选择多个文件。在 Windows 上,标准的 CTRL-A 键盘快捷键选择所有文件,但在 OSX 上,标准的 CMD-A 键盘快捷键什么都不做。

在 OSX 上,我可以使用带有 SHIFT 或 CMD 键的光标来选择多个文件,但是有人知道我如何启用“全选”键盘快捷键吗?

编辑

按照下面的回复,我现在可以使用非本地文件对话框。这总比没有好,但理想情况下,尤其是在 OS X 上,原生对话框会好得多。有什么方法可以与本机对话框获得相同的效果?

以下是适用于非本地对话框的完整代码(与下面的回复基本相同):

    fileDialog = QtGui.QFileDialog()
    fileDialog.setFileMode(QtGui.QFileDialog.ExistingFiles)
    fileDialog.setOption(QtGui.QFileDialog.DontUseNativeDialog)
    fileDialog.exec_()
    filenames = fileDialog.selectedFiles()
    return(filenames)

【问题讨论】:

    标签: macos qt pyqt


    【解决方案1】:
    self.fileDlg=QtGui.QFileDialog()
    self.fileDlg.setFileMode(QtGui.QFileDialog.AnyFile)
    self.fileDlg.setOptions(QtGui.QFileDialog.DontUseNativeDialog)
    

    也许你可以试试这个,我没有在 OSX 上测试,但是从错误报告中阅读这应该是一个解决方案。

    【讨论】:

    • 我尝试了您的建议,但没有任何变化。 CMD-A 快捷键仍然不起作用。我也试过 CTRL-A,但这也不起作用。你能在最后测试一下你的建议,看看它是否真的有效吗?
    • 我又试了一次,现在可以了,但只适用于非本地对话框。有没有办法使用具有相同效果的原生对话框?
    • 这是一个已知的 Qt 和 Osx 错误,你可以在 google 中找到很多。 Qt5 + 已修复,我不确定是否有其他解决方法。
    • 谢谢。我会将此标记为正确答案,因为目前,这可能是唯一有效的方法。
    猜你喜欢
    • 2013-03-24
    • 2010-10-04
    • 2022-12-09
    • 2020-02-06
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    相关资源
    最近更新 更多