如何在 Rust / gtk-rs 中创建一个简单的 Gtk MessageDialog?

How do I create a simple Gtk MessageDialog in Rust / gtk-rs?

我正在试用 gtk-rs,虽然确实有可用的文档,但对于初学者来说太难理解了。我只是看到许多不同的 impls、traits 和泛型,但从来没有任何代码示例可供我学习。通常我会查看代码,使用它,然后逐行检查它以便理解它。但这在这里是不可能的。

有人可以帮我吗?

我以前用 PyGTK 编程,我发现了一个旧的示例代码:

def report_error(self, reason):
    dialog = Gtk.MessageDialog(Gtk.Window(), 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "You did something wrong")
    dialog.format_secondary_text(reason)
    dialog.run()
    dialog.destroy()

但是如何,我怎样才能在 Rust/gtk-rs 中做到这一点?我完全迷路了。

There is an example 演示消息框:

extern crate gtk;
use gtk::prelude::*;
use gtk::{ButtonsType, DialogFlags, MessageType, MessageDialog, Window};

fn main() {
    if gtk::init().is_err() {
        println!("Failed to initialize GTK.");
        return;
    }
    MessageDialog::new(None::<&Window>,
                       DialogFlags::empty(),
                       MessageType::Info,
                       ButtonsType::Ok,
                       "Hello World").run();
}