Qt如何使用组合框选择更新GUI QFrame

Qt How to update GUI QFrame with combobox selection

本文关键字:更新 GUI QFrame 选择 何使用 组合 Qt      更新时间:2023-10-16

我有一个组合框,其中包含不同命令类型的列表。我想根据组合框中选择的命令更改GUI上的可见输入字段。我是Qt的新手,如果有人能为我指明实现这一目标的正确方向,我将不胜感激。

我目前的想法是有一个"选择"按钮来发出信号,连接的插槽将获取组合框的当前索引。我想我需要实现一个自定义类来保存QFrame。自定义类将包含指示哪些数据输入(用于所选命令)应显示在QFrame中的槽。

IE,如果在组合框中选择COMMAND_1,则QFrame中将显示3个输入字段。如果选择COMMAND_2,则QFrame中会显示一对单选按钮,并且这3个输入字段将被隐藏或取消分配。

这是解决这个问题的好方法吗?

你的做法是正确的。但Qt实际上让它比你想的更容易。

您可以使用两个内置的小部件:QComboBox和QStackedWidget。您熟悉组合框;堆叠的小部件是一组小部件,一次只显示其中一个。它本质上是一个去掉选项卡的选项卡小部件。

设置堆叠的小部件,使其第一个小部件是您想要在组合框显示第一个选项时显示的,第二个显示第二个选项,依此类推。然后,您可以将内置信号连接到内置插槽:QComboBox::currentIndexChanged(int)到QStackedWidget::setCurrentIndex(int)。

希望能有所帮助!