Rust 如何从glib::VariantType';是';?

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!

我有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!("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\'" }