我正在使用Windows 7 PC上的Qt 4.8.4(MSVC 2010)开发软件应用程序 . 我刚刚从QWidget框架切换到了 QML / QtQuick 1.1 声明框架但是我注意到在QtQuick / QML中,文本缩放很差 . 字母经常被切断或略微倾斜 .
In the image below ,文本由于窗口调整大小而缩放,但每次都看起来不同 .
这是我使用的缩放功能:
scale: paintedWidth > maxWidth ? Math.max((maxWidth / Math.max(paintedWidth, 1)), 0.1) : 1
基本上,这个缩放功能只有在文本大于它所在容器的大小时才缩小文本 . 它可以正常工作 .
I was just wondering if there is any possible way to improve text scaling in QML/Qt Quick 1.1 and if anyone else has noticed this issue?
我知道在QtQuick 2中已经完成了一些关于文本缩放的工作,但遗憾的是由于兼容性问题,现在不能将我们的UI升级到QtQuick 2 .
1 回答
首先要尝试的是设置
smooth: true
如果您正在为缩放设置动画,那么由于字体以不同的大小呈现,您可能仍会注意到由于提示而导致的不规则性 . 您可能会成功将Text元素强制转换为将文本缓存到图像的代码路径,然后将其缩放,而不是直接绘制文本:
您获得外观的另一个原因可能是文本未按像素对齐定位,即
y
不是整数,或者父元素的y
不是整数 .