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

rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十四)垂直滚动条

垂直滚动条ScrollArea

fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();// 生成0-99的字符串列表let keys: Vec<String> = (0..100).map(|i| i.to_string()).collect();eframe::run_simple_native("菜单", options, move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);// 添加垂直滚动条egui::ScrollArea::vertical().show(ui, |ui| {for idx in &keys {ui.label(idx);}});});})
}

只绘制可见部分

fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();let keys: Vec<String> = (0..100).map(|i| i.to_string()).collect();eframe::run_simple_native("菜单", options, move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);// 参数二:每行高度,参数三:行数egui::ScrollArea::vertical().show_rows(ui, 17., keys.len(), |ui, rng| {for idx in rng {ui.label(&keys[idx]);}});});})
}

滚动条靠右显示

  • ui.set_width(f32):设置当前ui的宽度

  • ui.available_width():当前容器的剩余宽度

fn main() -> eframe::Result<()> {// 配置原生窗口参数let options = eframe::NativeOptions::default();let keys: Vec<String> = (0..100).map(|i| i.to_string()).collect();eframe::run_simple_native("菜单", options, move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);// 参数二:每行高度,参数三:行数egui::ScrollArea::vertical().show_rows(ui, 17., keys.len(), |ui, rng| {ui.set_width(ui.available_width()); // 设置当前ui元素的宽度为当前容器的剩余宽度for idx in rng {ui.label(&keys[idx]);}});});})
}
http://www.dtcms.com/a/348991.html

相关文章:

  • 【URP】[投影Projector]解析与应用
  • 【cs336学习笔记】[第6课]内核优化与Triton框架应用
  • 如何在算力时代乘风破浪?
  • 深度学习中的模型量化及实现示例
  • 【RAGFlow代码详解-4】数据存储层
  • MySQL学习记录-基础知识及SQL语句
  • 【零代码】OpenCV C# 快速开发框架演示
  • 在 Docker 容器中查看 Python 版本
  • C语言第十二章自定义类型:结构体
  • LangChain RAG系统开发基础学习之文档切分
  • Python核心技术开发指南(016)——表达式
  • 多线程——认识Thread类和创建线程
  • 【记录】Docker|Docker镜像拉取超时的问题、推荐的解决办法及安全校验
  • FPGA时序分析(四)
  • asio的线程安全
  • 使用Cobra 完成CLI开发 (一)
  • 3.1 存储系统概述 (答案见原书 P149)
  • C++ string自定义类的实现
  • 【论文阅读 | arXiv 2025 | WaveMamba:面向RGB-红外目标检测的小波驱动Mamba融合方法】
  • 上科大解锁城市建模新视角!AerialGo:从航拍视角到地面漫步的3D城市重建
  • 深度剖析Spring AI源码(三):ChatClient详解,优雅的流式API设计
  • R60ABD1 串口通信实现
  • 在 Ubuntu 24.04 或 22.04 LTS 服务器上安装、配置和使用 Fail2ban
  • 【Qwen Image】蒸馏版与非蒸馏版 评测小结
  • 第3篇:配置管理的艺术 - 让框架更灵活
  • 多线程下单例如何保证
  • [身份验证脚手架] 前端认证与个人资料界面
  • 2025.8.18-2025.8.24第34周:有内耗有挣扎
  • Spring Cloud 快速通关之Sentinel
  • 遥感机器学习入门实战教程|Sklearn案例⑩:降维与分解(decomposition 模块)