Rust 如何从glib::VariantType';是';?
我有gtk应用程序的防锈代码Rust 如何从glib::VariantType';是';?,rust,gtk,gtk3,Rust,Gtk,Gtk3,我有gtk应用程序的防锈代码args是一个glib::Variant gtk_app.connect_handle_local_options( move |_, args| { match glib::VariantTy::new("ay") { Ok(v) => { if let Some(cfg) = args.lookup_value("config", Some(&v)) { println!
args
是一个glib::Variant
gtk_app.connect_handle_local_options( move |_, args| {
match glib::VariantTy::new("ay") {
Ok(v) => {
if let Some(cfg) = args.lookup_value("config", Some(&v)) {
println!("ok {:?}", cfg);
if let Some(value) = cfg.get::<String>() {
println!("value {:?}", value);
}
}
}
Err(e) => {
println!("error {:?}", e);
}
}
}
如何获取字符串值?
ay
是字节数组,而不是字符串。您可以通过以下方式获得该变量中包含的值:Vec
let byte_array=variant.get::().expect(“不是字节数组”);
Variant { ptr: 0x5571b47a6e10, type: VariantTy { inner: "ay" }, value: "b\'/config.json\'" }