首页 文章

使用Qt Quick 1.1 / QML进行文本缩放较差

提问于
浏览
3

我正在使用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 .

Bad QML Text Scaling

1 回答

  • 4

    首先要尝试的是设置 smooth: true

    如果您正在为缩放设置动画,那么由于字体以不同的大小呈现,您可能仍会注意到由于提示而导致的不规则性 . 您可能会成功将Text元素强制转换为将文本缓存到图像的代码路径,然后将其缩放,而不是直接绘制文本:

    smooth: true
    style: Text.Raised
    styleColor: "transparent"
    

    您获得外观的另一个原因可能是文本未按像素对齐定位,即 y 不是整数,或者父元素的 y 不是整数 .

相关问题