vgtk 是 Rust 编写的声明式桌面 UI 框架,内置了 GTK 和 Gtk-rs。
示例
use vgtk::{ext::*, gtk, run, Component, UpdateAction, VNode};
use vgtk::lib::{gtk::*, gio::ApplicationFlags};
#[derive(Clone, Default, Debug)]
struct Model {
counter: usize,
}
#[derive(Clone, Debug)]
enum Message {
Inc,
Exit,
}
impl Component for Model {
type Message = Message;
type Properties = ();
fn update(&mut self, message: Message) -> UpdateAction<Self> {
match message {
Message::Inc => {
self.counter += 1;
UpdateAction::Render
}
Message::Exit => {
vgtk::quit();
UpdateAction::None
}
}
}
fn view(&self) -> VNode<Model> {
gtk! {
<Application::new_unwrap(None, ApplicationFlags::empty())>
<Window border_width=20 on destroy=|_| Message::Exit>
<HeaderBar title="inc!" show_close_button=true />
<Box spacing=10 halign=Align::Center>
<Label label=self.counter.to_string() />
<Button label="inc!" image="add" always_show_image=true
on clicked=|_| Message::Inc />
</Box>
</Window>
</Application>
}
}
}
fn main() {
std::process::exit(run::<Model>());
}
特性
Future
构建,使用 GLib 的事件循环,提供了与 GTK 事件模型干净集成的 async/awaitGNOME Photo Frame 是 GNOME 桌面的一个小应用工具,用来显示一个相框,相框中的照片可以从本地文件夹以及网络相册中加载。
本文向大家介绍Android实现定制桌面的方法,包括了Android实现定制桌面的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现定制桌面的方法。分享给大家供大家参考。具体如下: launcher也就是我们的Home,可以简单地把它理解为一个简化的linux GUI。作为一个GUI它首先必须完成它最本分的功能,就是它必须能提供对所有应用程序(CATEGORY_LAUN
https://login.docker.com/u/login/
本文向大家介绍java实现远程桌面的实例代码,包括了java实现远程桌面的实例代码的使用技巧和注意事项,需要的朋友参考一下 java实现远程桌面的实例代码 控制端将鼠标事件传递到服务端 服务端拿到鼠标事件之后传输到客户端 客户端拿到鼠标事件之后,通过robot类即可完成,并且截屏将图片发给服务器,服务器再发给控制端 被我简化之后得到 //远程控制原理讲解 //分为server端和client端,
本文向大家介绍在vue+element ui框架里实现lodash的debounce防抖,包括了在vue+element ui框架里实现lodash的debounce防抖的使用技巧和注意事项,需要的朋友参考一下 事情起因在:我使用element ui框架里的远程搜索框,在单选时,组件内部已经做了防抖,query是在一段时间内的字符串。但是在多选时,并没有做防抖,而是每输入一个字符都要向后台发一次请
本文向大家介绍JavaScript实现模仿桌面窗口的方法,包括了JavaScript实现模仿桌面窗口的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现模仿桌面窗口的方法。分享给大家供大家参考。具体如下: 这里使用JS模仿了桌面窗口的移动、八个方向的缩放、最小化、最大化和关闭,以及 双击缩小放大窗口、改变窗口大小的预览效果等功能。 希望本文所述对大家的javasc
本文向大家介绍python实现桌面壁纸切换功能,包括了python实现桌面壁纸切换功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现桌面壁纸切换功能的具体实现方法,供大家参考,具体内容如下 大体分为两个部分 一、利用爬虫爬取壁纸 第一部分爬取图片url地址并且下载至本地 爬虫针对 http://image.so.com/ 【360壁纸写的】,如果要更换url地址自己
本文向大家介绍基于Vant UI框架实现时间段选择器,包括了基于Vant UI框架实现时间段选择器的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Vant UI框架实现时间段选择器的具体代码,供大家参考,具体内容如下 组件代码如下: 调用demo UI示例 API:注意红色划掉的没有实现 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。