#methods #name #toolkit

wxrust

wxWidgets 工具箱 wxCore 库的绑定

1 个不稳定版本

0.0.1-alpha2022 年 9 月 7 日

109#methods

MIT 许可协议

3.5MB
63K SLoC

Rust 49K SLoC // 0.1% comments C++ 13K SLoC // 0.0% comments

wx(wxrust)

此 crate 是对 wxWidgets 工具箱 wxCore 库 的绑定。

此 crate 的名称在 crates.io 上已被占用,因此这里使用 wxrust 而不是 wx

建议使用以下方式指定此库的依赖,并通过重命名来指定

[dependencies]
wx = { version = "0.0.*", package = "wxrust" }

示例

#![windows_subsystem = "windows"]

use wx;
use wx::methods::*;

fn main() {
    wx::App::run(|_| {
        let frame = wx::Frame::builder(wx::Window::none())
            .title("Hello, 世界")
            .build();
        let button = wx::Button::builder(Some(&frame)).label("Greet").build();
        let i = 3;
        println!("i={}", i);
        let weak_button = button.to_weak_ref();
        button.bind(wx::RustEvent::Button, move |_: &wx::CommandEvent| {
            if let Some(button) = weak_button.get() {
                println!("i={}", i);
                button.set_label("clicked");
                println!("s={}", button.get_label())
            }
        });
        frame.centre(wx::BOTH);
        frame.show(true);
    });
}

依赖项