Qt5代码移植到Qt6的实现

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Qt5代码移植到Qt6的实现

DreamLife.   2023-03-23 我要评论

尝试下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这里始终是过不去,后面有机会在尝试了。先解眼下问题。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们