6个版本
0.0.8 | 2022年7月15日 |
---|---|
0.0.7 |
|
0.0.6 |
|
0.0.5 | 2022年1月28日 |
0.0.3 | 2021年4月11日 |
在GUI分类中排名407
每月下载量105次
被image_sieve使用
160KB
3.5K SLoC
nfde-rs
此crate包含对Native File Dialog Extended (NFDe)的Rust绑定,这是一个用于在Windows、MacOS和Linux上调用本地文件对话框的小型库。
它支持四种类型的对话框
- 打开文件
- 打开多个文件
- 保存文件
- 选择文件夹
目前,这个crate应被视为实验性的 — 虽然上流的NFDe是稳定的,但这些Rust绑定仍在变化中。
有关更多信息及截图,请参阅上流的NFDe仓库。
依赖项
以下依赖项需要您手动在您的机器上安装(Cargo不会为您安装它)
- CMake
- 一个不错的C/C++编译器(已知的MSVC、Clang或GCC可以工作)
您可能还需要将CMake放在您的PATH中,以便构建脚本可以找到它。
基本用法
use nfde::*;
fn main() -> Result<(), nfde::Error> {
// Initialize NFD... NFD will be automatically deinitialized when this object is destroyed
let nfd = Nfd::new()?;
// Show the dialog...
// Note: .show() will block until the dialog is closed
// You can also set a default path using .default_path(Path)
let res = nfd
.open_file()
.add_filter("Source code", "c,cpp,cc")?
.add_filter("Headers", "h,hpp")?
.show();
match res {
DialogResult::Ok(path_buf) => {
println!("Success!");
println!("Path: {}", path_buf.display());
}
DialogResult::Cancel => {
println!("User pressed cancel.");
}
DialogResult::Err(error_str) => {
println!("Error: {}", error_str);
}
};
Ok(())
}
有关更多示例,请参阅/examples
目录。
依赖项
~0–355KB