如何在 egui (eframe) Rust 中制作自己的 window 框架
How do I make my own window frame in egui (eframe) Rust
以下是我如何启动我的应用程序并删除 window 框架:
let app = RustClicker::default();
let mut native_options = eframe::NativeOptions::default();
native_options.decorated = false; // I remove window frame here
eframe::run_native(Box::new(app), native_options);
我自己制作了这样的顶板:
egui::TopBottomPanel::top("decoration").show(ctx, |ui| {
egui::menu::bar(ui, |ui| {
ui.with_layout(egui::Layout::left_to_right(), |ui| {
ui.label("");
});
ui.with_layout(egui::Layout::right_to_left(), |ui| {
if ui.button("").clicked() {
frame.quit();
}
let change_theme = ui.button("");
if change_theme.clicked() {
if self.dark_theme {
self.dark_theme = false;
}
else {
self.dark_theme = true;
}
}
});
});
});
但我无法通过按住鼠标按钮移动它,TopPanel 是否可以解决此问题?
找到了一个例子https://github.com/emilk/egui/tree/master/examples/custom_window_frame这个可行,而且角也变圆了
以下是我如何启动我的应用程序并删除 window 框架:
let app = RustClicker::default();
let mut native_options = eframe::NativeOptions::default();
native_options.decorated = false; // I remove window frame here
eframe::run_native(Box::new(app), native_options);
我自己制作了这样的顶板:
egui::TopBottomPanel::top("decoration").show(ctx, |ui| {
egui::menu::bar(ui, |ui| {
ui.with_layout(egui::Layout::left_to_right(), |ui| {
ui.label("");
});
ui.with_layout(egui::Layout::right_to_left(), |ui| {
if ui.button("").clicked() {
frame.quit();
}
let change_theme = ui.button("");
if change_theme.clicked() {
if self.dark_theme {
self.dark_theme = false;
}
else {
self.dark_theme = true;
}
}
});
});
});
但我无法通过按住鼠标按钮移动它,TopPanel 是否可以解决此问题?
找到了一个例子https://github.com/emilk/egui/tree/master/examples/custom_window_frame这个可行,而且角也变圆了