Qt4,QToolbox:在禁用工具箱的情况下启用/访问(部分)子窗口小部件

时间:2011-05-16 14:53:27

标签: qt qt4 widget activation

我正在构建一个数据采集应用程序,在该UI中,我在QToolbox的不同子页面中放置了互斥式采集模式的控件,当前选定的QToolbox项目选择了aquisition模式参数。

一个理想的功能是锁定用户界面 - 更改参数后,必须应用/确认,才能锁定UI元素以防意外更改是一项功能,只需禁用小部件即可实现。 由于采购模式是一个参数,这也意味着锁定QToolbox。然而,工具箱中的某些控件需要保持解锁状态,因为它们的效果是立竿见影的。

所以这就是问题:在Qt4中,如何在容器被禁用时保持子窗口小部件的启用和访问。或者我如何模拟这种设置的行为和外观?

请不要在UI中建议更改。我让我的研究小组中的所有人都测试了不同的UI概念,而当前的概念是最直观,最直接的。

3 个答案:

答案 0 :(得分:1)

如果禁用容器,则将禁用其所有子窗口小部件。我认为你不能改变这种行为。因此,您必须单独禁用所有不想保持启用的子窗口小部件。

答案 1 :(得分:0)

最后,我通过使用QComboBox + QStackedWidget而不是QToolBox来“解决”问题,并禁用组合框将其锁定。

答案 2 :(得分:0)

您可以使用UI函数setItemEnabled锁定QToolbox的页面,并通过UI函数indexOf和您的布尔值传递页面索引。

下面是一些代码:

ui-> toolbox-> setItemEnabled(ui-> toolbox-> indexOf(ui-> page),false);