Qt5代码移植到Qt6的实现

2023-02-28 11:02:22 qt5 代码 移植

尝试下Qt5的代码是否可以正常在Qt6上编译通过,使用的我网易云代码,这里测试的时候我先添加了5.12的版本进行测试没有问题,下面将切换到6.0的环境试一下。

切换到6.0后,没有得到我要的结构,没有编译过,第一个就是“QFontMetrics”报错error: 'class QFontMetrics' has no member named 'width',那么目前最要紧的是想在6.0上让我的代码先跑起来,所以这里暂时先把这个功能注释掉。

    QFontMetrics fontWidth(font);
    int width = fontWidth.width(str);  //计算字符串宽度
    if(width>=MaxWidth)  //当字符串宽度大于最大宽度时进行转换
    {
        str = fontWidth.elidedText(str,Qt::ElideRight,MaxWidth);  //右部显示省略号
    }
    return str;   //返回处理后的字符串

注释掉了“QFontMetrics”还是没有解决问题,这里有了新的东西出线“QTableWidgetItem”错误显示error: 'class QTableWidgetItem' has no member named 'setTextColor'; did you mean 'setText'?,注释掉,再试。

界面出来了。看来Qt5的程序在Qt6基本上还是没有问题的,除了个别模块的某些方法被修改了。

后面将准备使用Qt6下用CMake编译写一个简单的局域网关机工具,正好这个工具也是公司在做项目的时候遇到的问题,接这个机会也尝试一下CMake编译版本Qt,

看网上有大神成功使用vscode结合CMake搭建了Qt6的开发环境,我也尝试了一下,不过失败了,在CMake这里始终是过不去,后面有机会在尝试了。先解眼下问题。

到此这篇关于Qt5代码移植到Qt6的实现的文章就介绍到这了,更多相关Qt5代码移植到Qt6内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章