Qt如何使用组合框选择更新GUI QFrame
Qt How to update GUI QFrame with combobox selection
我有一个组合框,其中包含不同命令类型的列表。我想根据组合框中选择的命令更改GUI上的可见输入字段。我是Qt的新手,如果有人能为我指明实现这一目标的正确方向,我将不胜感激。
我目前的想法是有一个"选择"按钮来发出信号,连接的插槽将获取组合框的当前索引。我想我需要实现一个自定义类来保存QFrame。自定义类将包含指示哪些数据输入(用于所选命令)应显示在QFrame中的槽。
IE,如果在组合框中选择COMMAND_1,则QFrame中将显示3个输入字段。如果选择COMMAND_2,则QFrame中会显示一对单选按钮,并且这3个输入字段将被隐藏或取消分配。
这是解决这个问题的好方法吗?
你的做法是正确的。但Qt实际上让它比你想的更容易。
您可以使用两个内置的小部件:QComboBox和QStackedWidget。您熟悉组合框;堆叠的小部件是一组小部件,一次只显示其中一个。它本质上是一个去掉选项卡的选项卡小部件。
设置堆叠的小部件,使其第一个小部件是您想要在组合框显示第一个选项时显示的,第二个显示第二个选项,依此类推。然后,您可以将内置信号连接到内置插槽:QComboBox::currentIndexChanged(int)到QStackedWidget::setCurrentIndex(int)。
希望能有所帮助!
相关文章:
- GUI在qt中同时更新和控制
- 从其他std ::线程更新QT GUI
- GUI滑块的动态数量,该数量更新具有回调中值的std ::向量
- MFC GUI 自定义控件:如何绘制光标更新以响应鼠标移动?
- 由于线程问题,Qt-Gui没有更新
- 使用第二个线程快速更新 GUI 窗口会通过调整窗口大小或移动窗口而崩溃
- C++代码更新C#DLL中的GUI
- 如何通过在另一个线程中提出的升压信号更新QT GUI
- 在 C++ QT GUI 中更改语言时代码未更新
- 在进入单独的功能之前,强制Qt GUI进行更新
- 在QT中以不同的时间间隔更新GUI
- 如何以预定的时间间隔更新 GUI,同时仍执行非 GUI 工作
- 不断更新GUI表单元素,使表单不会挂起
- 从聚合线程更新QListView会使GUI卡住
- 如何在GUI更新之间暂停几秒钟
- Qt从页面获得DOM而不更新GUI
- 从不同的线程更新GUI
- Qt如何使用组合框选择更新GUI QFrame
- 使用线程从不同的类更新GUI组件/文本框
- 读取CAN输入时更新GUI元素的效率/速度