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

rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十九)子窗口

子窗口show_viewport_immediate

builder: ViewportBuilder窗口构建器的方法:

  • .with_title("窗口标题"):窗口标题
  • .with_inner_size([400.0, 300.0]):窗口默认大小
  • .with_min_inner_size([200.0, 150.0]):窗口大小最小值
  • .with_max_inner_size([200.0, 150.0]):窗口大小最大值
fn main() -> eframe::Result<()> {// 配置原生窗口参数// let opt = eframe::NativeOptions::default();// 自定义窗口尺寸let opt = eframe::NativeOptions {viewport: egui::ViewportBuilder::default().with_inner_size([400., 500.]),..Default::default()};eframe::run_native("打开新窗口",opt,Box::new(|cc| Ok(Box::new(MyApp::new(cc)))),)
}struct MyApp {secend: bool,   // 用于控制子窗口显示
}
impl MyApp {fn new(cc: &eframe::CreationContext<'_>) -> Self {Self { secend: false }}
}
impl eframe::App for MyApp {fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {eframe::egui::CentralPanel::default().show(ctx, |ui| {load_fonts(ctx); // 设置中文字体ui.label("主窗口中的信息……");ui.toggle_value(&mut self.secend, "打开/关闭新窗口方式一"); // 用于控制ui元素的可见性if ui.button("打开/关闭新窗口方式二").clicked() {self.secend = !self.secend;}});if self.secend {                                                          // true 时显示新窗口ctx.show_viewport_immediate(                                          // 用于创建即时渲染的独立窗口eframe::egui::ViewportId::from_hash_of("窗口唯一标识"),            // 设置窗口唯一标识eframe::egui::ViewportBuilder::default().with_title("新窗口标题"), // 窗口构建器|ctx, class| {eframe::egui::CentralPanel::default().show(ctx, |ui| {if ctx.input(|x| x.viewport().close_requested()) {self.secend = false;}ui.label("新窗口中的信息……");})},);}}
}
http://www.dtcms.com/a/350591.html

相关文章:

  • 您的连接不是私密连接问题解决
  • 借Copilot之力,实现办公效率的跃升
  • 数据库原理及应用_数据库基础_第2章关系数据库标准语言SQL_索引和视图
  • 软件使用教程(二):VS Code的Copilot、Git设置与使用
  • 复制和下载飞书文档的方法教程
  • Unity开发如何实现换装技术
  • Ubuntu 14.10 i386桌面版安装教程(U盘启动详细步骤-附安装包下载)​
  • LeetCode 100题(3)(10题)
  • 实用电脑小工具分享,守护电脑隐私与提升效率21/64
  • CANopen - DCF(Device Configuration File) 介绍
  • 平安产险青海分公司助力国家电投黄河公司安全生产
  • 2024鸿蒙样题需要掌握的知识点
  • Shopify 集合页实现自定义广告位插入(支持分页)
  • C++ 指针与引用面试深度解析
  • k8s数据存储
  • PMP项目管理知识点-④ 项⽬整合管理
  • 3-2.Python 函数 - None(None 概述、None 应用场景)
  • Flink的CheckPoint与SavePoint
  • 使用 Prometheus 监控服务器节点:Node Exporter 详解与配置
  • 【2025】政策变动
  • 从认识Docker到安装
  • 深分页实战
  • 服务注册信息丢失ERROR 2003 (HY000):Can‘t connect to MySQL server on ‘localhost’(10061)
  • 数据结构青铜到王者第三话---ArrayList与顺序表(1)
  • 【MTCNN网络结构记忆卡片】--003nets.py
  • STM32之DMA详解
  • 专题:2025人工智能2.0智能体驱动ERP、生成式AI经济现状落地报告|附400+份报告PDF、原数据表汇总下载
  • 基于知识图谱的装备健康智能维护系统KGPHMAgent
  • 项目管理进阶——软件研发版本管理规范
  • 虚幻基础:摄像机功能