gpt4 book ai didi

dialog - 在 showOpenDialogSync 中以编程方式设置项目选择

转载 作者:行者123 更新时间:2023-12-03 12:24:07 24 4
gpt4 key购买 nike

我正在成功使用 Electron 的 showOpenDialogSync,但我有一个小问题。我希望用户能够从一组库中更改一个库的根目录:

usr/project/library1/
usr/project/library2/
subdir1/
subdir2/
subdir3/
usr/project/library3/

现在的问题是,当我使用 showOpenDialogSync对话并传递 usr/project/library2/默认情况下,它显示所有子目录。我宁愿它显示 usr/project 的对话框与 library2突出显示,因此我可以在库之间快速切换,而无需点击后退按钮来选择不同的库。

当然,我可以将默认路径切换为 usr/project但它不会有 library2选择为默认选择(或者我不知道如何)。

简而言之,我怎样才能拥有 showOpenDialogSync显示默认选择的父文件夹的路径,选择默认选择而不是打开该默认选择的完整路径。

最佳答案

不幸的是,Electron dialog API 中没有提供这样的功能。 .

如果您的 Electron 应用程序有一个很好的案例具有此功能,您可以考虑自己构建打开对话框。当然,预建对话框为您提供的所有内容现在都可以重新实现。请注意,非标准对话框会甩掉一些用户。此外,如果您还需要一个保存对话框,那么为了统一起见,您最终也可能会重新实现它。

为什么 Electron 不提供这个选项? Electron 利用底层操作系统提供的文件对话框。这就是为什么它们在每个操作系统中看起来都是“原生的”。它只通过调用;它的功能不能超过底层对话框的功能。

特定操作系统的文件对话框可能实际上能够执行您想要的操作。关于 Windows,the docs suggest没有办法选择现有项目。另一方面,对于 GTK,有 gtk_file_chooser_set_filename() ,它(至少对于保存对话框)允许选择一个项目。然而,Electron 的 GTK 保存对话框实现使用了 gtk_file_chooser_set_current_name() ,它只允许设置文件名。

无论给定操作系统的对话框的功能是什么,Electron 都需要支持这些选项,以便您有机会使用它们。

像 Electron 这样的跨平台框架提供了对话框等操作系统功能的通用抽象,因此使用 Electron 构建应用程序的开发人员不必处理需要支持的每个操作系统的操作系统细节。另一方面,这也可能意味着只有一个通用的功能子集可用。

关于dialog - 在 showOpenDialogSync 中以编程方式设置项目选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60255050/

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