【问题标题】:Qt widgets 4.7 vs. 5.1 [closed]Qt 小部件 4.7 与 5.1 [关闭]
【发布时间】:2013-08-22 23:51:25
【问题描述】:

我最近开始了一个新项目,我们将使用 Qt 创建 GUI。无需详细说明,管理层已强制要求我们使用 Qt 4.7。这个决定没有正当理由。我们没有将任何现有代码移植到 Qt 5,这是全新的实现。我是该项目的 UI 负责人,我需要为使用 Qt 5.1 提供案例。

我将解释为什么一些工程师对迁移到 5.1 的担忧是不合理的,但我还想通过给出具体原因来加强我的观点,即我们应该使用 Qt 5.1 而不是 4.7。我想要使​​用 5.1 的主要原因是它是最新版本,与 4.7 相比有许多改进。虽然这个原因是有效的,但如果任何熟悉 Qt 4.7+ 与 5.0+ 之间差异的人能帮助我提出一些具体的原因,我将不胜感激。我自己还没有使用过 Qt 5。无论哪种方式,我们都将使用小部件,而不是 QtQuick/QML,因此请只考虑与 Qt 小部件有关的差异。

【问题讨论】:

  • 访问 Qt 的网站reveals this。最值得注意的似乎是“信号槽连接的编译时检查”和各种新的 OpenGL 钩子。

标签: c++ qt user-interface qt4 qt5


【解决方案1】:

Qt 5.1 比 Qt 4.7 或 4.8 有几个新特性。我猜其中一个重要的就是信号和槽的新语法,它将提供:

  1. 编译时检查信号和槽是否存在、类型是否存在,或者 Q_OBJECT 是否丢失,这意味着如果您拼错了信号或槽名称,或者槽的参数不正确,则会出现编译器错误与信号不匹配。这可能会在您进行重构和更改信号或插槽的名称或参数时节省一些时间。
  2. 可以连接到 QObject 的任何成员函数,而不仅仅是插槽。
  3. 新语法甚至可以连接到函数,而不仅仅是 QObjects。

它还为 C++11 提供了一些新的支持

更多信息请查看:

http://woboq.com/blog/new-signals-slots-syntax-in-qt5.html

http://woboq.com/blog/cpp11-in-qt5.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-26
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2019-09-08
    • 2012-01-27
    • 1970-01-01
    相关资源
    最近更新 更多