从wxWidget转移到QT的推荐指南

时间:2010-02-18 17:37:25

标签: qt migration wxwidgets

我有一个使用wxwidget工具包的项目(wxThread,wxString,wxEvent,wxDateTime,wxLog等)。我正在搬到QT。

我对这项任务感到有点沮丧,并且最好到这里来问那些可能已经开展此类行动的人。

我:

  1. 采取更加谨慎的方法(一次更换一个类 - 这可能不像听起来那么直接,因为类之间存在一些依赖关系)

  2. 首先潜入头部然后撕掉内脏并一次性重构一切(嗯,听起来很痛苦......)

1 个答案:

答案 0 :(得分:4)

我不知道WxWidgets,所以我只有一半答案:

  1. 如果尚未完成,请尝试在迁移到Qt之前将所有逻辑与GUI操作分开。你可能会在Jeremy Miller Presentation Patterns之后实现这一目标。它通常可以很好地将您的域类包装在GUI类中。这允许您使用域的语言。然后,包装类可以用于与GUI通信,并且基本上用作Adapter类。这使得测试轻量化且极少。
  2. 避免回调,因为Qt使用信号和插槽。你需要发送消息的地方,调用一个虚函数 - 这样可以很容易地使用Mocks / Fakes / Stubs进行测试并遵循open-closed principle,允许在Qt中轻松修改一次。
  3. 将GUI与应用程序逻辑分开后,使用QTestlib确认您看到了正确的消息(信号)。
  4. 最后,请注意WxWidgets与Qt之间的差异。我不确定它们是什么,但不正确的假设可能会轻易消耗你的时间。实际上阅读docs,即使是简单的小工具,也不可避免地会节省你的时间。