rust - 选择菜单项时无法显示组
问题描述
我一直在尝试获取菜单和子菜单项以产生所需的输出。我尝试了多种方法,有些方法可以部分工作,而另一些则根本不起作用。下面是我最近的尝试。显示主窗口,可以选择菜单和子菜单项。我有打印!每个语句中的语句,并且结果在选择时显示在终端窗口中。没有发生的是 GROUP 没有显示,尽管我知道我在该区域,因为我从两个 println! 获得了输出。我到底做错了什么??????
对于那些认为我应该自己学习如何做到这一点的人,请指出一些我可以阅读的信息来帮助我解决这个问题。我找到的所有信息都将所有项目都放在一个没有分支的线程中。
main_win.show();
main_win.set_callback(move|_| {
if app::event() == Event::Close {
s.send(Message::Quit);
}
});
while app.wait() {
use Message::*;
if let Some(msg) = r.recv() {
match msg {
Preference => {
println!("In Preference area");
}
Quit => {
app.quit();
}
Wallets => {
println!("In Wallets area");
let mut wall_group =
fltk::group::Group::new(50, 90, 500, 300, "Wallet Data Add/Change/Delete");
wall_group.set_frame(FrameType::FlatBox);
wall_group.set_color(Color::by_index(2));
wall_group.end();
let wall_name = fltk::input::Input::new(180, 105, 170, 20, "Wallet Name:");
wall_group.add(&wall_name);
let wall_username =
fltk::input::Input::new(180, 130, 170, 20, "Wallet Username:");
wall_group.add(&wall_username);
let wall_password =
fltk::input::Input::new(180, 155, 170, 20, "Wallet Password:");
wall_group.add(&wall_password);
let btn_wall_add = fltk::button::Button::new(180, 190, 60, 20, "Add");
wall_group.add(&btn_wall_add);
let btn_wall_delete = fltk::button::Button::new(260, 190, 60, 20, "Delete");
wall_group.add(&btn_wall_delete);
println!("In Wallets area 2");
}
解决方案
目前,实例化的组不是直接或间接地作为窗口的父级。您可以使用 window.add(&wall_group) 添加它(或使用插入)。更好的是,您已经可以创建组,将其隐藏,然后在 Wallets 事件中调用 show。
推荐阅读
- python - 调用 sendmessage() 时 Python smtplib 挂起
- amazon-web-services - AWS Glue 动态帧更新列和爬网程序架构匹配
- java - 如何将 TextField 信息传递给 handle() 方法
- github - GitHub API:获取固定存储库
- python - 错误:遵循序列到序列教程的 Keras 中的维度冲突层
- javascript - 根据选中的单选按钮显示数组项的数据
- shell - GCP Shell 上的 Go 构建错误 - 本地 Go 构建包的权限被拒绝?
- vue.js - 如何在设置 v-model 时触发 select 的更改事件?
- html - 元素不在应有的位置(表格)
- c++ - 如何解决这个无限循环(做while循环)?