我正在构建一个数据采集应用程序,在该UI中,我在QToolbox的不同子页面中放置了互斥式采集模式的控件,当前选定的QToolbox项目选择了aquisition模式参数。
一个理想的功能是锁定用户界面 - 更改参数后,必须应用/确认,才能锁定UI元素以防意外更改是一项功能,只需禁用小部件即可实现。 由于采购模式是一个参数,这也意味着锁定QToolbox。然而,工具箱中的某些控件需要保持解锁状态,因为它们的效果是立竿见影的。
所以这就是问题:在Qt4中,如何在容器被禁用时保持子窗口小部件的启用和访问。或者我如何模拟这种设置的行为和外观?
请不要在UI中建议更改。我让我的研究小组中的所有人都测试了不同的UI概念,而当前的概念是最直观,最直接的。
答案 0 :(得分:1)
如果禁用容器,则将禁用其所有子窗口小部件。我认为你不能改变这种行为。因此,您必须单独禁用所有不想保持启用的子窗口小部件。
答案 1 :(得分:0)
最后,我通过使用QComboBox + QStackedWidget而不是QToolBox来“解决”问题,并禁用组合框将其锁定。
答案 2 :(得分:0)
您可以使用UI函数setItemEnabled
锁定QToolbox的页面,并通过UI函数indexOf
和您的布尔值传递页面索引。
下面是一些代码:
ui-> toolbox-> setItemEnabled(ui-> toolbox-> indexOf(ui-> page),false);