#file-dialog #dialog #file #ui

废弃 nfd2

请使用 https://crates.io/crates/rfd 代替

8个版本

0.3.1 2022年2月4日
0.3.0 2021年3月26日
0.2.3 2020年10月22日
0.2.2 2020年9月27日
0.1.1 2020年3月19日

#19 in #file-dialog

Download history 53/week @ 2024-03-11 46/week @ 2024-03-18 14/week @ 2024-03-25 104/week @ 2024-04-01 10/week @ 2024-04-08 24/week @ 2024-04-15 25/week @ 2024-04-22 18/week @ 2024-04-29 13/week @ 2024-05-06 17/week @ 2024-05-13 54/week @ 2024-05-20 15/week @ 2024-05-27 27/week @ 2024-06-03 10/week @ 2024-06-10 30/week @ 2024-06-17 14/week @ 2024-06-24

84 每月下载量
用于 propdayscov

MIT AND Zlib

74KB
2K SLoC

C 658 SLoC // 0.1% comments C++ 542 SLoC // 0.1% comments Rust 329 SLoC // 0.2% comments Objective-C 225 SLoC // 0.1% comments

💾 nfd2

Build Status Crates.io Docs Contributor Covenant Embark

nfd2 是一个 Rust 绑定到 nativefiledialog 库的库,它提供了一个方便的跨平台接口,用于在 Windows、MacOS 和 Linux 上打开文件对话框。

这是一个分支!

原始的 nfd-rs 仓库现在似乎已经基本停止维护,所以我们创建了此分支,目的是确保它至少得到维护,并且错误得到修复,这样我们就可以依赖它。

话虽如此,我们使用此仓库的最终目标是使其最终成为纯 Rust,无需任何外部 C 代码或构建脚本。

依赖项

由于此仓库目前依赖于 nativefiledialog,您必须安装该项目的依赖项。有关每个平台的详细信息,请参阅 编译您的程序 中的 README.md 文件。

Linux

Linux 需要在构建之前安装 GTK3 开发包

  • Debian/Ubuntu: apt-get install libgtk-3-dev
  • Fedora: dnf install gtk3-devel

其他

其他平台不需要额外的安装。

用法

单个文件对话框

use nfd2::Response;

fn main() {
    match nfd2::open_file_dialog(None, None).expect("oh no") {
        Response::Okay(file_path) => println!("File path = {:?}", file_path),
        Response::OkayMultiple(files) => println!("Files {:?}", files),
        Response::Cancel => println!("User canceled"),
    }
}

多个文件对话框

use nfd2::Response;

fn main() {
    /// Only show .jpg files
    let result = nfd2::dialog_multiple().filter("jpg").open().expect("oh no");

    match result {
        Response::Okay(file_path) => println!("File path = {:?}", file_path),
        Response::OkayMultiple(files) => println!("Files {:?}", files),
        Response::Cancel => println!("User canceled"),
    }
}

贡献

我们欢迎社区对此项目的贡献。

请阅读我们的贡献指南,以获取有关如何开始的更多信息。

许可证

MIT许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)和Zlib(《Zlib》或https://opensource.org/licenses/Zlib》)

无运行时依赖

~180KB