我有一个使用wxwidget工具包的项目(wxThread,wxString,wxEvent,wxDateTime,wxLog等)。我正在过渡到QT。
我对这项任务有些畏惧,并认为最好是来这里问问那些以前可能已经进行过这样的手术的人。
我要:
采用更严格的方法(一次替换一个类-听起来可能不那么直截了当,因为这些类之间存在一些依赖关系)只需先跳入头部,然后将胆囊撕碎,一口气重构所有内容(嗯,听起来很痛苦……) 我不知道WxWidgets,所以我只有一半的答案:
如果尚未完成,请尝试在迁移到Qt之前从GUI操作中分离出所有逻辑。您可以按照Jeremy Miller的Presentation Patterns来实现。通常,将您的域类包装在GUI类中效果很好。这使您可以使用域的语言进行工作。然后,包装类可以用于与GUI进行通信,并且实质上用作Adapter类。这使得测试轻巧且最少。 避免回调,因为Qt使用信号和插槽。在需要发送消息的地方,调用虚拟函数-这将使使用Mocks/Fakes/Stubs并遵循open-closed principle进行测试变得容易,从而允许在Qt中进行一次轻松的修改。 将GUI与应用程序逻辑分离后,使用QTestlib确认您看到的是正确的消息(信号)。 最后,请注意WxWidgets和Qt之间的区别。我不确定它们是什么,但是错误的假设很容易吞噬您的时间。实际上,即使在简单的小部件上阅读docs,也将不可避免地节省您的时间。