在 Rust 中使用 Egui 庫處理用戶輸入非常簡單。Egui 是一個用于構建用戶界面的 Rust 庫,它提供了許多組件來處理不同類型的輸入。以下是一個簡單的示例,展示了如何使用 Egui 處理文本輸入框中的用戶輸入:
首先,確保你已經添加了 Egui 和 Egui-winit 的依賴項到你的 Cargo.toml
文件中:
[dependencies]
egui = "0.18"
egui-winit = "0.18"
winit = "0.26"
然后,在你的 Rust 代碼中,你可以使用以下代碼來處理用戶輸入:
use egui::{CentralPanel, Context, Input, TextEdit};
use winit::{event::*, window::WindowBuilder};
fn main() {
let event_loop = EventLoop::new();
let window = WindowBuilder::new().build(&event_loop).unwrap();
let mut ctx = Context::new();
event_loop.run(move |event, _, control_flow| {
*control_flow = ControlFlow::Wait;
match event {
Event::WindowEvent {
ref event,
window_id,
} if window_id == window.id() => match event {
WindowEvent::CloseRequested => *control_flow = ControlFlow::Exit,
_ => {}
},
Event::MainEventsCleared => {
window.request_redraw();
}
_ => {}
}
CentralPanel::default().show(&ctx, |ui| {
ui.heading("輸入示例");
ui.add(TextInput::new().label("文本輸入框:"));
if ui.button("提交").clicked() {
let text = ui.input().text();
println!("用戶輸入的文本: {}", text);
}
});
});
}
在這個示例中,我們創建了一個簡單的窗口,并在其中添加了一個文本輸入框和一個提交按鈕。當用戶點擊提交按鈕時,我們使用 ui.input().text()
獲取用戶輸入的文本,并將其打印到控制臺。
Egui 提供了許多其他組件,如滑塊、復選框、下拉菜單等,可以用來處理各種類型的用戶輸入。你可以查閱 Egui 的文檔以了解更多關于如何處理用戶輸入的信息。