学习菜单未解决问题:点击菜单项后不关闭菜单。知道怎么解决朋友的欢迎留言,谢谢。
一、菜单menu_button
菜单|- 文件|- 打开文件|- 创建文件|- 退出|- 帮助|- 软件版本
fn main() -> eframe::Result<()> {let options = eframe::NativeOptions::default();eframe::run_simple_native("菜单", options, move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);ui.menu_button("菜单", |ui| {ui.menu_button("文件", |ui| {ui.button("打开文件");ui.button("创建文件");});ui.button("退出");ui.menu_button("帮助", |ui| ui.button("软件版本"))})});})
}
1、菜单点击事件
fn main() -> eframe::Result<()> {let options = eframe::NativeOptions::default();let mut key = String::new(); eframe::run_simple_native("菜单", options, move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);ui.menu_button("菜单", |ui| {ui.menu_button("文件", |ui| {if ui.button("打开文件").clicked() {key = "打开文件".into(); };if ui.button("创建文件").clicked() {key = "创建文件".into(); };});ui.button("退出");ui.menu_button("帮助", |ui| ui.button("软件版本"))});ui.label(&key); });})
}
2、菜单中的复选框
fn main() -> eframe::Result<()> {let options = eframe::NativeOptions::default();let mut onoff = false; let mut undwond = false; let mut high_low = false; eframe::run_simple_native("菜单", options, move |ctx, _frame| {egui::CentralPanel::default().show(ctx, |ui| {load_fonts(&ctx);ui.menu_button("菜单", |ui| { ui.menu_button("选择", |ui| { ui.checkbox(&mut onoff, "onoff"); ui.checkbox(&mut undwond, "undwond"); ui.checkbox(&mut high_low, "high_low"); })})});})
}
二、右键菜单context_menu
ui.button("鼠标右键点击").context_menu(|ui| {ui.menu_button("按钮的右键菜单", |ui| {ui.menu_button("子菜单", |ui| {});});
});ui.label("鼠标右键点击").context_menu(|ui| {ui.menu_button("标签的右键菜单", |ui| {});
})