3

我正在 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。

糟糕的 QML 文本缩放

4

1 回答 1

4

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

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

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

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

于 2013-03-08T23:53:32.200 回答