Qt4,QToolbox:在禁用工具箱的情况下保持(某些)子小部件启用/可访问



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

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

所以这里有一个问题:在Qt4中,如何在容器被禁用的情况下保持子小部件的启用和可访问性。或者我如何模拟这种设置的行为和外观?

请不要建议对 UI 进行更改。我让我的研究小组中的所有人测试不同的UI概念,当前的是使用起来最直观和最直接的概念。

如果禁用容器,则其所有子小组件都将被禁用。我不认为你可以改变这种行为。因此,您必须单独禁用所有不想保持启用状态的子小部件。

最后,

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

您可以使用

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

下面是一个小代码:

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

最新更新