从wxWidget转移到QT的推荐指南

Sti*_*MAN 5 migration qt wxwidgets

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

我对这个任务感到有些畏惧,并且最好到这里来问那些可能以前进行过此类操作的人.

我是:

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

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

Kal*_*son 3

我不了解WxWidgets,所以我只有一半的答案:

  1. 如果尚未完成,请在迁移到 Qt 之前尝试将所有逻辑与 GUI 操作分离。按照 Jeremy Miller 的演示模式,您可能会实现这一目标。将域类包装在 GUI 类中通常效果很好。这使您可以使用该领域的语言进行工作。然后,包装类可以用于与 GUI 通信,并且本质上充当适配器类。这使得测试变得轻量级和最小化。
  2. 避免回调,因为 Qt 使用信号和槽。在您需要发送消息的地方,调用虚拟函数——这将使使用 Mocks / Fakes / Stubs 进行测试变得容易,并遵循开闭原则,允许在 Qt 中轻松修改。
  3. 将 GUI 与应用程序逻辑分离后,使用QTestlib确认您看到了正确的消息(信号)。
  4. 最后,请注意 WxWidgets 和 Qt 之间的差异。我不确定它们是什么,但不正确的假设很容易浪费你的时间。实际阅读文档,即使是简单的小部件,也将不可避免地节省您的时间。