3

Windows 7PCでQt4.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をQtQuick2にアップグレードすることは現在のところ不可能です。

不正なQMLテキストスケーリング

4

1 に答える 1

4

最初に試すことは設定ですsmooth: true

スケーリングをアニメーション化している場合でも、フォントがさまざまなサイズでレンダリングされるため、ヒントが原因で不規則性に気付く場合があります。テキストを直接ペイントするのではなく、テキストを画像にキャッシュするコードパスにText要素を強制することに成功する可能性があります。その後、画像は拡大縮小されます。

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

表示されるもう1つの理由は、テキストがピクセル単位で配置されていない、つまりy整数ではない、またはy親要素の整数ではない可能性があります。

于 2013-03-08T23:53:32.200 に答える