我正在特灵用egui做一个原生的gui应用程序。过了一段时间,我编译了hello_world example。
验证码:
use eframe::{epi, egui};
struct MyEguiApp {
name: String,
age: u32,
}
impl Default for MyEguiApp {
fn default() -> Self {
Self {
name: "Arthur".to_owned(),
age: 42,
}
}
}
impl epi::App for MyEguiApp {
fn name(&self) -> &str {
"Test"
}
fn update(&mut self, ctx: &egui::Context, frame: &epi::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("My egui aplication");
ui.horizontal(|ui|{
ui.label("Your name: ");
ui.text_edit_singleline(&mut self.name);
});
ui.add(egui::Slider::new(&mut self.age,0..=120));
if ui.button("Click each year").clicked() {
self.age += 1;
}
ui.label(format!("Hello '{}', age {}", self.name, self.age));
});
frame.set_window_size(ctx.used_size());
}
}
fn main() {
let app = MyEguiApp::default();
let native_options = eframe::NativeOptions::default();
eframe::run_native(Box::new(app), native_options);
}
但我有两个问题:
首先:窗口总是800x600,除非我手动调整大小
第二:我不知道如何启动黑暗模式
我刚开始学习生 rust ,所以如果有人能帮上忙,那就太好了。
1条答案
按热度按时间b09cbbtk1#
将main方法中的“native_options”替换为以下内容。
要设置为暗模式,您可以使用内置的暗模式按钮:
egui::widgets::global_dark_light_mode_buttons(ui);
或者您可以在eframe中运行本机函数。