gpt4 book ai didi

c++ - 如何将一个qt3库完全移植到qt4?

转载 作者:太空狗 更新时间:2023-10-29 20:48:09 26 4
gpt4 key购买 nike

我一直在通过一些不同的步骤来完成这项工作。我在有编译错误的文件上运行 qt3to4.exe 并完成了很多转换步骤,但是现在我收到了这个错误:1>c:\qt\4.7.0\src\qt3support\widgets\q3toolbar.h(64):错误 C2039:“ToolBarDock”:不是
“Qt”的成员
和 55 个其他类似错误。这让我很困惑,因为它在 qt 自己的 q3support 库中。我还在 QT 帮助页面 (http://doc.trolltech.com/4.2/qt-qt3.html) 上看到 ToolBarDock 已被弃用,应该改用 Qt::Dock。我还没有找到太多帮助。我正在使用 Visual Studio 2008 中的库。有 QT/visual studio 专家吗?

如果这有帮助,这里是它在 q3toolbar.h 中失败的代码:

Q3ToolBar(const QString &label,
Q3MainWindow *, Qt::ToolBarDock = Qt::DockTop,
bool newLine = false, const char* name=0);

最佳答案

实际上 qt34qt4 并没有把所有事情都做对。有许多方法、枚举等未被转换。它或多或少是简单的查找替换工具,可替换 qt\tools\porting\q3porting.xml 中的以下说明在许多情况下,类有替换定义,但此类的方法没有。在某些情况下,qt3to4 会替换根本不属于 Qt 类的代码中的枚举和方法。所以要小心。无论如何,我建议获取您代码中所有 Qt 类的列表,仔细阅读您使用的每个类的移植说明 (http://doc.qt.nokia.com/4.5/porting4.html)。另一个问题是返回类型,qt3to4 不检查返回值的使用方式。幸运的是 qt3to4 做得很好,因此修复其余部分通常是一项微不足道的重复性任务。

如果您必须移植 UI,请查看未记录的参数 -wrap of uic3。

P.S.:一些用于估算您的工作量的数字可能会有用:我在 2.5 个月内移植(编译)了一次 600TLOCs + 150 个 UI,目前我正在移植大约 150 个 TLOCs 项目并且在 2 周内取得了相当大的进展.

关于c++ - 如何将一个qt3库完全移植到qt4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3912103/

26 4 0
文章推荐: python - 补丁中的 matplotlib 颜色渐变?
文章推荐: c# - 从 IEnumerable 转换为 IEnumerable