Rust的Egui庫是一個基于EUI(Emotion UI)的Rust綁定,用于構建圖形用戶界面。Egui支持多種事件類型,這些事件允許您與用戶界面進行交互。以下是一些常見的Egui事件類型:
WindowResize
:窗口大小改變時觸發。WindowClose
:用戶嘗試關閉窗口時觸發。WindowFocusChange
:窗口獲得或失去焦點時觸發。WindowMinimize
:窗口被最小化時觸發。ButtonClicked
:按鈕被點擊時觸發。ButtonPressed
:按鈕被按下時觸發(與ButtonClicked
類似,但更側重于按鈕的按下狀態)。TextInput
:用戶輸入文本時觸發。Keydown
:按鍵被按下時觸發。Keyup
:按鍵被釋放時觸發。CharInput
:用戶輸入字符時觸發。ValueChanged
:滑塊值改變時觸發。DropdownChanged
:下拉菜單選項改變時觸發。CheckboxToggled
:復選框狀態改變時觸發。RadioButtonToggled
:單選按鈕狀態改變時觸發。ColorPicked
:用戶選擇顏色時觸發。TooltipShown
:工具提示被顯示時觸發。Draw
:在每一幀繪制界面之前觸發。DrawAfter
:在每一幀繪制界面之后觸發。要處理這些事件,您需要在Egui的UI節點上注冊相應的回調函數。例如,如果您想要處理按鈕點擊事件,您可以這樣做:
ui.add(Button::new("Click me").on_clicked(callback));
fn callback() {
println!("Button clicked!");
}
在這個例子中,當按鈕被點擊時,callback
函數將被調用。您可以根據需要實現自己的回調邏輯來響應不同類型的事件。