【问题标题】:How do I create a simple Gtk MessageDialog in Rust / gtk-rs?如何在 Rust / gtk-rs 中创建一个简单的 Gtk MessageDialog?
【发布时间】:2018-11-08 16:48:00
【问题描述】:

我正在尝试 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 中做到这一点?我完全迷路了。

【问题讨论】:

  • 抱歉,这是题外话,因为您希望我们为您找到教程或充当代码编写服务。 Stackoverflow 两者都不是。您可以在rust forum 上提问或尝试一些来自 gtk-rs 的在线教程。请花点时间去learn rust 看看,你似乎没有太多经验。构建 GUI 对于您的第一次实验来说太难了。
  • 我很抱歉。 :-(

标签: rust gtk3 gtk-rs


【解决方案1】:

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();
}

【讨论】:

  • 我到处找,但不是箱子的起始页。我对每条线的作用做了更多研究,并根据我的需要对其进行了定制。非常感谢您的帮助!
  • 您应该始终从 crates.io 的 crate 页面上的 Documentation 链接开始。
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-11
相关资源
最近更新 更多