当前位置: 首页 > news >正文

rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(三) 文本标签、按钮、文本框基本使用

一、文本标签、按钮、文本框在窗口展示

fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();let mut text = String::new();    // 文本框内容eframe::run_simple_native("文本标签、按钮、文本框学习",options,move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);      // 字体设置,函数定义:查看我博客:中文乱码相关章节ui.label("文本标签");                // 文本标签ui.button("点击");                  // 按钮ui.text_edit_singleline(&mut text); // 文本框});},)
}

二、修改文本框,标签、按钮文字实时改变

  • 文本共用一个字符串变量,修改时同时改变文本内容
fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();let mut text = String::new();eframe::run_simple_native("文本标签、按钮、文本框学习",options,move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);     // 字体设置,函数定义:查看我博客:中文乱码相关章节ui.label(&text);                    // 文本标签ui.button(&text);                   // 按钮ui.text_edit_singleline(&mut text); // 文本框});},)
}

三、按钮点击事件,修改标签内容为文本框输入内容

fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();let mut text = "页面加载后显示的内容……".to_string(); // 文本标签显示的文本let mut edittext = String::new();                 // 文本框的文本eframe::run_simple_native("文本标签、按钮、文本框学习",options,move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);    // 字体设置,函数定义:查看我博客:中文乱码相关章节ui.label(&text);     // 文本标签if ui.button("点击修改内容").clicked() {   // 按钮点击text = edittext.clone();             // 修改文本标签文本为文本框内容};ui.text_edit_singleline(&mut edittext);  // 文本框});},)
}

四、点击按钮动态添加标签

fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();let mut texts: Vec<String> = Vec::new();    // 文本标签显示的文本let mut edittext = String::new();           // 文本框的文本eframe::run_simple_native("文本标签、按钮、文本框学习",options,move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx); // 字体设置,函数定义:查看我博客:中文乱码相关章节ui.text_edit_singleline(&mut edittext);  // 输入文本框if ui.button("点击添加内容").clicked() {texts.push(edittext.clone());   // 输入框内容添加到列表edittext.clear();               // 清空输入框};for text in &texts {          // 遍历列表ui.label(text);           // 标签显示列表内容}});},)
}
http://www.dtcms.com/a/343363.html

相关文章:

  • Rust 入门 模块 (二十二)
  • 意象驱动下的感知与认知信息结构:上古汉语同源词研究视角——基于黄易青《上古汉语同源词意义系统研究》的理论框架
  • Eject配置
  • 常见的端口扫描
  • 从零到一:RAGFlow 本地部署全攻略
  • Python工程师向项目管理转型的深度分析与学习道路规划
  • 容器化与云安全实践:ChartMuseum、私有仓库、云安全、应用部署、生命周期、定时任务、HPA管理案例流程
  • visual studio更改git提交的用户名和邮件
  • LT8712SX,Type-C/DP1.4 /eDP转 DP1.4/HD-DVI2.0 带音频
  • 服务区小汽车违停检测算法创新与实践
  • Android系统框架知识系列(十二):通知中枢 - Notification Manager Service深度解析
  • 工厂模式全解析:简单、方法、抽象工厂详解
  • comfyUI背后的一些技术——Checkpoints
  • leetcode_238 除自身以外的数组乘积
  • 图--常见面试问题
  • 面试可能问到的问题思考-Redis
  • 开源后台管理系统
  • 云蝠智能Voice Agent的多语言、多音色与语音克隆技术解析
  • 手动实现树形下拉菜单
  • 云原生俱乐部-RH294知识点归纳(2)
  • EEMD-LSTM模型择时策略 --- 1.EEMD分解与LSTM模型搭建
  • 开源,LangExtract-Python库用LLM从非结构化文本提取结构化信息
  • 生产环境的 MySQL 数据库能用 Docker 吗?
  • Spring面试宝典:Spring IOC的执行流程解析
  • ES_数据存储知识
  • 基于SpringBoot的宠物用品系统【2026最新】
  • odoo-063 pip 安装 Segmentation fault (core dumped),曲线救国
  • Vue3 + TypeScript全局阻止非输入区域的Backspace键,防止回退页面
  • Redis实战-基于Session实现分布式登录
  • 深度学习——yolo学习