3 个版本

使用旧的 Rust 2015

0.0.4 2016年10月19日
0.0.3 2016年8月17日
0.0.1 2016年4月23日

#14 in #file-dialog

Download history 310/week @ 2024-02-26 352/week @ 2024-03-04 240/week @ 2024-03-11 239/week @ 2024-03-18 261/week @ 2024-03-25 260/week @ 2024-04-01 203/week @ 2024-04-08 252/week @ 2024-04-15 238/week @ 2024-04-22 239/week @ 2024-04-29 218/week @ 2024-05-06 220/week @ 2024-05-13 308/week @ 2024-05-20 321/week @ 2024-05-27 277/week @ 2024-06-03 183/week @ 2024-06-10

1,112 每月下载次数
5 个 crate(2 个直接) 中使用

MIT 许可证

460KB
2.5K SLoC

Visual Studio Project 1K SLoC C++ 568 SLoC // 0.1% comments C 471 SLoC // 0.1% comments Rust 248 SLoC // 0.2% comments Objective-C 199 SLoC // 0.1% comments Lua 159 SLoC // 0.1% comments Scons 104 SLoC // 0.2% comments Visual Studio Solution 78 SLoC

nfd-rs

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

此 crate 已在 Mac、Window 和 Linux(Ubuntu 14.04)上进行了测试,并支持单选/多选和保存对话框,注意 API 可能与新版本不兼容。

用法

  • 在您的 Cargo.toml 中添加依赖项 nfd

    [dependencies]
    nfd = { git = "https://github.com/saurvs/nfd-rs.git" }
    
  • 打开单个文件对话框

    extern crate nfd;
    
    use nfd::Response
    
    fn main() {
    
      let result = nfd::open_file_dialog(None, None).unwrap_or_else(|e| {
      	panic!(e);
      });
    
      match result {
          Response::Okay(file_path) => println!("File path = {:?}", file_path),
          Response::Cancel => println!("User canceled"),
      }
    }
    
  • 使用构建器打开多文件对话框,以 jpg 文件作为过滤器

    extern crate nfd;
    
    use nfd::Response
    
    fn main() {
    
      let result = nfd::dialog_multiple().filter("jpg").open().unwrap_or_else(|e| {
      	panic!(e);
      });
    
      match result {
          Response::OkayMultiple(files) => println!("Files {:?}", files),
          Response::Cancel => println!("User canceled"),
      }
    }
    

屏幕截图

Cocoa on El Capitan

无运行时依赖