Ich habe die folgende qml-Anwendung:
%Vor% Dies erzeugt zwei schwarze Kreise nebeneinander. Der linke (der Rectangle
) ist auf einem Retina-Display knackig, während der rechte ( Canvas
) ziemlich unscharf ist. Wenn ich
zu Canvas
, es erzeugt grob verschwommene Pixel.
Was muss ich machen, damit% %% das% HiDPI erkennt?
(Ich verwende Qt 5.2.0 Beta 1 unter Mac OS X 10.8)
Bearbeiten: Die Problemumgehung bestand darin, das Canvas
in ein Canvas
zu verpacken, alles in Item
zu skalieren und dann onPaint
auf transform
zu verwenden. die Skalierung zurück.
Wir verwendeten den gleichen Trick, die Größe zu verdoppeln und dann für die zu verkleinern ProgressCircle in qml-material . Es gibt jedoch ein paar Verbesserungen, die Sie vornehmen können:
scale
anstelle von transform
. Screen.devicePixelRatio
aus dem Modul QtQuick.Window
, anstatt den Skalierungsfaktor bei 2 / 0,5 zu kodieren. So kann Ihr Code vereinfacht werden:
%Vor%Tags und Links canvas retina-display qml