0


Rust UI开发(一):使用iced构建UI时,如何在界面显示中文字符

注:此文适合于对rust有一些了解的朋友

iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。
在这里插入图片描述
iced的基本逻辑是:
UI交互产生消息message,message传递给后台的update,在这个函数中编写逻辑,然后通过View函数更新UI。

  1. Take the result of our view logic and layout its widgets. 获取视图逻辑的结果并布局其小部件。
  2. Process events from our system and produce messages for our update logic. 处理来自系统的事件,并为我们的更新逻辑生成消息。
  3. Draw the resulting user interface. 绘制生成的用户界面。

下面我们将通过举例来说明iced如何显示一个窗口,以及如何在窗口上显示中文。

一、如何用iced构建窗口:

我们构建一个基本窗口,窗口有一个按钮,一个文本框,一个标签,在文本框输入字符,点击按钮后,标签上显示相同内容。
UI实例预览:
在这里插入图片描述
在这里插入图片描述
1 导入库

useiced::widget::{
   button, column, text, text_input};useiced::{
   Alignment,Element,Sandbox,Settings};

2、配置Cargo.toml

[dependencies]   
iced="0.10"

这样,使用cargo check时,会自动安装iced库。

3、构建窗口程序

主函数:

pubfnmain()->iced::Result{
   Counter::run(Settings::default())//此处为使用默认窗口设置}

定义数据结构:

//创建结构体structstructCounter{
   
    value:String,
    value2:String,}

定义消息:

#[derive(Debug, Clone)]//为下方的enum添加特性traitenumMessage{
   Showtext,InputChanged(String),}

实现一个实例:

//sandbox是一个traitimplSandboxforCounter{
   //impl将sandbox添加给Counter,使Counter具有了sandbox的一些特性typeMessage=Message;fnnew()->Self{
   //初始化sandbox,返回初始值Self{
    
            value:String::new(),
            value2:String::new(),}}fntitle(&self)->String{
   //返回sandbox的标题String::from("iced_UI")}fnupdate(&mutself, message:Message){
   //此处书写更新逻辑程序,所有UI交互会在这里处理
标签: rust ui 开发语言

本文转载自: https://blog.csdn.net/normer123456/article/details/134571177
版权归原作者 机构师 所有, 如有侵权,请联系我们删除。

“Rust UI开发(一):使用iced构建UI时,如何在界面显示中文字符”的评论:

还没有评论