【发布时间】:2021-12-10 00:14:57
【问题描述】:
以下代码停止工作,我不知道我对它做了什么。由于某种原因,call_back 不起作用。打印语句确实显示了,但它似乎只是通过 call_back 流动。
fn wallet_check(main_win: &mut Window, mut s_wallet: StrucWallet) {
println!("Enter wallet check");
let mut wall_group = fltk::group::Group::new(50, 90, 500, 300, "");
wall_group.set_frame(FrameType::FlatBox);
wall_group.end();
wall_group.show();
main_win.add(&wall_group);
wall_group.redraw();
wall_group.set_color(Color::by_index(2));
let wall_name = fltk::input::Input::new(220, 105, 170, 20, "Wallet Name:");
wall_group.add(&wall_name);
let mut btn_wall_verify = fltk::button::Button::new(220, 130, 60, 20, "Verify");
wall_group.add(&btn_wall_verify);
println!("Just before callback");
btn_wall_verify.set_callback(move |_| {
let wall_name_clone = wall_name.clone();
wallet_verify(s_wallet.clone());
if s_wallet.StrucWalletName == wall_name_clone.value().to_string() {
dialog::message(
500,
500,
"This Wallet already exists in the database. Please select another.",
);
}
wall_group.hide();
});
}
Mo_Al_ 如果您回答这个问题,我真的很喜欢您指出解决方案,但不要告诉我。非常感谢您的视频和帮助。
【问题讨论】:
-
是否也打印回调中的打印语句?
-
不,他们没有。还注意到屏幕组没有显示选择按钮。可能是我的问题的真正原因。也得看看那个。