这是一个概念证明问题。我正在为飞行模拟应用程序中的空中交通参与者的路点编辑设计GUI。在当前概念中,所选择的航点的参数以一堆文本框显示。此输入掩码既可以作为数据视图,也可以作为编辑掩码。编辑字段后,用户可以:
如果只需要为新路点更改某些参数子集,此设计可避免重新输入数据。
只有一个问题:在哪里插入路点?我的答案是“另存为新”按钮上的下拉菜单,其中包含以下菜单项:
最后一项是棘手的。索引位置需要由用户输入,我想避免弹出窗口只询问单个值。
我的想法是这样:在菜单项中嵌入一个文本框。
这种方法在QT或wxWidgets中是否可行?您如何看待GUI设计?
此致 ·阿尔
PS:请注意,这一切都处于概念阶段。该小组甚至没有决定使用GUI框架:Qt或wxWidgets。
答案 0 :(得分:3)
您的方法在QT中完全可行。您可以使用QWidgetAction将control \ widgets作为QMenu项目。以下是一个例子:
QPushButton *button = new QPushButton("test button", this);
QMenu *menu = new QMenu(button);
QLineEdit *edit = new QLineEdit(menu);
QAction *action0 = new QAction("menu item", this);
QWidgetAction *action1 = new QWidgetAction(menu);
button->setMenu(menu);
action1->setDefaultWidget(edit);
menu->addAction(action0);
menu->addAction(action1);
希望这有帮助,尊重
答案 1 :(得分:0)
对于任何Mac OS X本机API来说,这绝对是不可能的,所以不,不可能使用任何官方的wxWidgets API(尽管可能是wxFlatMenuBar)。
无论哪种方式,如果您计划在OSX上发布(假设您正在考虑使用wx或qt),您真的应该知道您的OSX用户会鄙视您在菜单上放置文本输入控件它不属于。您的Windows用户将更加宽容。我建议你花点时间为这个动作提出一个更好,更标准的UI设计,我保证那里有一个。