簡體   English   中英

RUST + FLTK:從小部件 on_push() 訪問另一個小部件 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM