Qt5代码移植到Qt6的实现
DreamLife. 人气:0尝试下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这里始终是过不去,后面有机会在尝试了。先解眼下问题。
加载全部内容