项目从Qt5.9.6移植到Qt5.12.3时遇到的一些问题

1. text的中文字符显示出现了乱码:根据排除发现该乱码text使用了“黑体”的字体,而其他使用了“微软雅黑”字体的text没有乱码,怀疑是Qt5.12.3对字体的支持问题,将字体更改后没有乱码了;


2. Image显示出现 QImage: out of memory, returning null image 的报错且无法显示,经过排查发现Qt5.12.3增加了新的特性:https://blog.qt.io/cn/2018/12/03/qt-quick-performance-improvements-qt-5-12-lts/

其中为提高Qt的性能和优化其内存消耗,QML对Image模块增加了sourceSize属性,设置Image的最大像素从而使得一些过大的图片不占用过多的内存消耗。增加该属性后无报错且正常显示。


3. Image的source属性无法识别路径中的中文,不知道是什么问题,改成英文后解决。


4. 出现以下消息:

Failed to load libGLESv2d (存储空间不足,无法处理此命令。)

create: Failed to load and resolve libGLESv2 functions

但并没有什么异常。搜索后发现libGLESv2是Qt发布程序要包含的基本库之一,涉及到的是界面渲染这一类。

查看Qt5.12的最新更新:

https://wiki.qt.io/New_Features_in_Qt_5.12

The following modules are part of Qt 5.12 release, but deprecated and considered for removal in subsequent releases of Qt:

  • Qt Script
  • Qt Quick Controls 1
  • Qt Canvas 3D

检查后发现确实在某些文件中引入了 QtQuick.Controls 1.4 以使用TableView控件,但QtQuick.Controls 2 中并没有这个模块,让人头疼,但似乎在QtQuick2.12中也有一个TableView,后续看一看是否能够替代使用。


关于问题4,检查了下似乎与qt对QtQuick.Controls 1 的支持无关,应该与存储空间不足这个警告有关。

你可能感兴趣的:(Qt)