25个版本 (稳定)

1.7.2 2024年8月14日
1.7.1 2024年7月25日
1.6.0 2024年5月13日
1.5.1 2024年3月20日
0.3.2 2022年11月28日

#532 in GUI

Download history 2399/week @ 2024-05-03 2531/week @ 2024-05-10 2698/week @ 2024-05-17 2505/week @ 2024-05-24 3167/week @ 2024-05-31 14705/week @ 2024-06-07 17346/week @ 2024-06-14 19183/week @ 2024-06-21 15669/week @ 2024-06-28 8530/week @ 2024-07-05 8588/week @ 2024-07-12 7731/week @ 2024-07-19 8060/week @ 2024-07-26 7204/week @ 2024-08-02 9658/week @ 2024-08-09 9685/week @ 2024-08-16

每月下载量36,260
用于 15 个包 (3个直接使用)

GPL-3.0-only…

2MB
31K SLoC

注意:此库是 Slint 项目内部 包。不应直接使用此包,而是应使用 slint 包。

警告:此包不遵循semver版本约定,并且只能与Cargo.toml中的 version = ""=x.y.z"" 一起使用。

Slint的Winit后端

此包实现了Slint的winit后端/平台。它作为 slint 包的默认功能默认启用。

尽管此包主要是内部包,但它也可以由应用程序使用,以利用 winit::window::Window 的全部功能为Slint窗口。

要使用此功能,在导入依赖项时需要谨慎,因为此包不遵循semver,可能会在任何补丁版本中引入破坏性更改。此外,此包的版本必须与Slint的版本相匹配。要表示您希望特别使用此版本,请在版本字符串中包含 = 符号。

确保winit的版本与此包使用的版本匹配。检查此包的依赖关系以确定所需版本。

[dependencies]
slint = { version = "x.y.z", ... }
i-slint-backend-winit = "=x.y.z"
winit = "0.w"

为确保选择运行时后端,在 main 函数的第一步中初始化后端。

fn main() {
    slint::platform::set_platform(Box::new(i_slint_backend_winit::Backend::new().unwrap()));
    // ...
}

一旦你拥有一个 slint::Window(可以通过生成的组件的 window() 函数访问),你可以使用 WinitWindowAccessor::with_winit_window 函数来访问 winit::window::Window 对象。

# // similar to code generated by the slint! macro
# struct C; impl C { fn window(&self) ->i_slint_core::api::Window {todo!()} }
# let my_ui = C;
use i_slint_backend_winit::WinitWindowAccessor; // import the trait
my_ui.window().with_winit_window(|winit_window: &winit::window::Window| {
    // Here, you can use the winit API
});

依赖项

~7–48MB
~794K SLoC