在菜单项中嵌入文本框

Arn*_*rne 5 qt wxwidgets qt4

这是一个概念验证问题。我正在设计一个 GUI,用于在飞行模拟应用程序中编辑空中交通参与者的航路点。在当前的概念中,所选航路点的参数显示在一堆文本框中。该输入掩码既充当数据视图又充当编辑掩码。编辑字段后,用户可以:

  • 保存对路径点的更改
  • 根据输入创建新的路径点

如果仅需要为新路径点更改某些参数子集,则此设计可以避免重新输入数据。

只有一个问题:在哪里插入路径点?我的答案是“另存为新”按钮上的下拉菜单,其中包含以下菜单项:

  • 作为飞行计划的第一个航路点
  • 所选航路点之前的位置
  • 选定航路点后
  • 作为飞行计划的最后一个航点
  • 在索引位置

最后一项是棘手的。索引位置需要由用户输入,我想避免弹出窗口只要求单个值。

我的想法是:将文本框嵌入到菜单项中。

这种方法在 QT 或 wxWidgets 中可行吗?您对 GUI 设计有何看法?

问候,阿恩

PS:请注意,这一切都处于概念阶段。该小组甚至还没有决定使用哪种 GUI 框架:Qt 或 wxWidgets。

ser*_*nko 6

你的方法在QT中是完全可行的。您可以使用QWidgetAction将控件\小部件作为 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);
Run Code Online (Sandbox Code Playgroud)

希望这有帮助,问候