[英]RUST + FLTK: accessing another widget from widget on_push() function
我使用 FLTK 創建了一個 window 和兩個按鈕,btn_A 有一個回調,應該更改 btn_B label,但我沒有看到任何非可怕的方法可以做到這一點,請停下來? =''[
fn main() {
showMainWindow();
}
pub fn showMainWindow() {
//WINDOW
let application=app::App::default();
let mut win = window::Window::default().with_size(500,300);
//BTN_A
let mut btn_A:Listener<_> = button::Button::new(100,100,100,50,"btn_A").into();
//BTN_B
let mut btn_B:Listener<_> = button::Button::new(300,100,100,50,"btn_B").into();
//BTN_A_CALLBACK
btn_A.handle(|elem,evt| match evt {
enums::Event::Push => { btn_A(elem); true }
_ => { false }
});
win.end();
win.show();
application.run().unwrap();
}
pub fn btn_A(elem:&mut button::Button) {
elem.deactivate(); //deactivate itself
//but how do I access btn_B here?
}
原則上,所需要的只是將一個對btn_B
的可變引用傳遞給您的處理程序 function:
pub fn btn_A(elem:&mut button::Button, btn_b: &mut button::Button) {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.