【发布时间】:2014-10-22 16:42:05
【问题描述】:
我有一个使用 MFC 作为 UI 的现有应用程序,我正在尝试迁移到 Qt。在大多数情况下,迁移是直截了当的,但我不确定如何管理操作的启用状态(菜单和工具栏项)。
在 MFC 中,您使用启用/禁用逻辑实现回调,并在显示项目时调用。在 Qt 中,您只能访问 setEnabled() 方法。
是否有将更新回调连接到操作的内置或标准化方法?还是我需要使用计时器创建我的解决方案并使用它注册操作?在我正在使用的大型应用程序中,“应该启用”逻辑可能会到处乱跳——即磁盘上的某些文件必须存在,主显示必须有一个选择,应用程序的 ProcessManager::isProcessing( ) 必须为 false 等。当启用/禁用逻辑背后有如此多的条件时,依赖 setEnabled() 对特定操作调用似乎不切实际。
【问题讨论】: