垂直滚动条ScrollArea
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(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]);}});});})
}
滚动条靠右显示
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()); for idx in rng {ui.label(&keys[idx]);}});});})
}