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

时间:2013-03-08 18:54:41

标签: qt qml qt-quick qtquick2

我正在使用Windows 7 PC上的Qt 4.8.4(MSVC 2010)开发软件应用程序。我刚刚从QWidget框架切换到 QML / QtQuick 1.1 声明框架但是我注意到在QtQuick / QML中,文本缩放很差。信件经常被切断或略微倾斜。

在下图中,由于窗口调整大小,文本已缩放,但每次都看起来不同。

这是我使用的缩放功能:

scale: paintedWidth > maxWidth ? Math.max((maxWidth / Math.max(paintedWidth, 1)), 0.1) : 1

基本上,这个缩放功能只有在文本大于它所在容器的大小时才缩小文本。它可以正常工作。

我只是想知道是否有任何可能的方法来改进QML / Qt Quick 1.1中的文本缩放以及是否有其他人注意到这个问题?

我知道在QtQuick 2中已经完成了一些关于文本缩放的工作,但遗憾的是由于兼容性问题,现在无法将我们的UI升级到QtQuick 2。

Bad QML Text Scaling

1 个答案:

答案 0 :(得分:4)

要尝试的第一件事是设置smooth: true

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

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

您获得外观的另一个原因可能是文本没有按位置对齐,即y不是整数,或者父元素的y不是整数号。