【问题标题】:Recommended guidelines on moving from wxWidget to QT从 wxWidget 迁移到 QT 的推荐指南
【发布时间】:2011-01-18 10:43:11
【问题描述】:

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

我有点被这个任务吓倒了,我觉得最好来这里问问那些以前可能做过这种手术的人。

我:

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

  2. 只需一头扎进,撕掉内脏,一口气重构所有内容(嗯,听起来很痛苦……)

【问题讨论】:

  • 很想知道你经历这么多痛苦的原因。
  • 只是清理和重构我的很多旧代码。其中很多使用开源“爱好者”类型库。由于 QT 成为“真正的”开源,没有理由(恕我直言——不想引发一场激烈的战争)继续使用 wxWidget。
  • 不!不要放弃 wxWidgets!此外,QT 不适用于商业项目。

标签: qt migration wxwidgets


【解决方案1】:

我不知道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,即使是简单的小部件,也将不可避免地节省您的时间。

【讨论】:

  • 确实是明智的建议 - 非常感谢。也非常有用的链接 - 现在所有的书都标记了。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2011-10-30
  • 2010-09-15
  • 1970-01-01
  • 2015-03-21
  • 2022-07-08
  • 2011-02-23
  • 1970-01-01
  • 2018-02-10
相关资源
最近更新 更多