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

这篇具有很好参考价值的文章主要介绍了Rust UI开发(一):使用iced构建UI时,如何在界面显示中文字符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。
rust 代码 ui可视化,Rust窗口开发实例,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实例预览:
rust 代码 ui可视化,Rust窗口开发实例,rust,ui,开发语言
rust 代码 ui可视化,Rust窗口开发实例,rust,ui,开发语言
1 导入库

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

2、配置Cargo.toml

[dependencies]   
iced="0.10"

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

3、构建窗口程序

主函数:

pub fn main() -> iced::Result {
        

    Counter::run(Settings::default())             //此处为使用默认窗口设置
  
}

定义数据结构:

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

定义消息:

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

实现一个实例:文章来源地址https://www.toymoban.com/news/detail-773848.html

//sandbox是一个trait
impl Sandbox for Counter {
                //impl将sandbox添加给Counter,使Counter具有了sandbox的一些特性
    type Message = Message;     
    fn new() -> Self {
                     //初始化sandbox,返回初始值
        Self {
    
            value: String::new(),
            value2:String::new(),
        }
    }

    fn title(&self) -> String {
            //返回sandbox的标题
        String::from("iced_UI")
    }

    fn update(&mut self, message: Message) {
           //此处书写更新逻辑程序,所有UI交互会在这里处理
     

到了这里,关于Rust UI开发(一):使用iced构建UI时,如何在界面显示中文字符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 界面控件DevExpress WinForm中文教程 - 如何应用Windows 11 UI?

    DevExpress WinForm拥有180+组件和UI库,能为 Windows Forms 平台创建具有影响力的业务解决方案。 DevExpress WinForm 能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任! DevExpress WinForm组件允许开发人员轻松地引入受

    2024年02月08日
    浏览(39)
  • 界面控件Kendo UI for jQuery中文教程 - 如何集成全新的DockManager组件

    R3 2023版本在Kendo UI for jQuery套件中引入了许多改进,其中包括多个主题上的新组件、特性和改进。其中一个重要的新增功能是DockManager组件,本文将话一些时间与大家讨论一下它的功能! P.S:Kendo UI for jQuery提供了在短时间内构建现代Web应用程序所需的一切,从众多UI子控件中

    2024年02月04日
    浏览(32)
  • 【Python之Pyside】如何在pycharm中使用pyside开发编辑Qt ui界面(uic、rcc)

    qtcreator自带designer设计师编辑器,非常好用。 但是我们使用pycharm进行界面开发的时候没有designer,在pycharm中直接双击qt的ui文件会直接进行xml格式的编辑。 要在pycharm中支持双击ui文件打开qtdesigner,我们需要先 在pycharm中添加安装了pyside6的python环境,注意,安装pyqt5不支持,旧

    2024年04月12日
    浏览(28)
  • 【Rust】Iced GUI库初使用及踩坑——写一个计数器

    从5月份起,我一直在寻找一个可用的,稳定的,开发者友好的Rust GUI框架,试图做到All in Rust,即一切的一切都可以靠Rust实现,其中GUI是相当重要的一部分,但找了许久,大部分给我答案是使用 tauri ,可我不是一个前端程序员,也没有深入学习前端的想法,故寻找计划只好搁

    2024年02月16日
    浏览(34)
  • CloudCompare二次开发之如何设计界面ui与功能实现?

      CloudCompare源代码编译成功后,即可进行二次开发,可以通过修改源码实现二次开发,二次开发基础功能见(CloudCompare如何进行二次开发?),若想要实现更多自定义功能,可以自定义界面ui,并操作CloudCompare程序处理数据。本文讲解界面ui设计,修改相应的文件,使Cloud

    2023年04月20日
    浏览(29)
  • jenkins设置中文为界面显示语言

    Jenkins是一个持续集成的平台,但是初次安装Jenkins之后,是英文的状态。下面给大家 介绍如何将Jenkins设置为中文语言 。 以Locale插件为例,演示其安装过程—— 1 点击【 Manage Jenkins 】选项。 2 点击【 Manage Plugins 】选项。 点击【 可选插件 】选项。 右侧搜索栏输入【 Locale 】

    2024年02月08日
    浏览(31)
  • QGIS开发五:VS使用QT插件创建UI界面

    前面我们说了在创建项目时创建的是一个空项目,即不使用 Qt 提供的综合开发套件 Qt Creator,也不使用 Qt Visual Studio Tools 这类工具。 但是后面发现,如果我想要有更加满意的界面布局,还是要自己写一个UI文件,如果不使用QT插件,在VS中导入自己的UI文件编译起来不是那么容

    2024年02月13日
    浏览(44)
  • 【解决QT设计出的界面不显示中文】

    问题概述:简单做了一个界面,输入界面的时候,按道理说,当我按下我设置的yes_Button的时候应该会弹出一个用中文提示的对话框,但是我想提示的中文变成了乱码 首先我分析是不是我的QT软件的一些配置没配好,在网上搜一些资料还是解决不了问题 最后通过询问老师解决

    2024年02月11日
    浏览(22)
  • 如何使用Vue的ui界面创建一个新项目

    第一步: win+r打开命令提示符,然后输入cmd后回车。 第二步: 在命令行输入命令vue ui(中间有空格)后回车,弹出ui界面。 第三步: 点击创建,双击地址栏确定我们要保存框架的地址,回车确定该地址,然后点击下面的   第四步: 完成第三步进入以下界面: 依次输入项目名

    2024年02月05日
    浏览(41)
  • 【Rust日报】2023-02-14 Rust GUI 框架对比: Tauri vs Iced vs egui

    Rust GUI 框架对比: Tauri vs Iced vs egui Tauri:使用系统的 webview 来渲染 HTML/JS 的前端。你可以选择任何前端框架。后台是用Rust编写的,可以通过内置的方法与前台通信。 Iced: 受 Elm 启发的(响应式)GUI库。在桌面上使用 wgpu 进行渲染;实验性的web后端创建DOM进行渲染。所有代码

    2024年02月02日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包