Ich erstelle eine Zeitschaltuhr, bei der die Zeit durch Ziehen des Uhrzeigers eingestellt werden kann (per Touch-Eingabe oder Maus). Zu diesem Zweck habe ich ein AnalogClockHand-Element wie folgt definiert,
AnalogClockHand.qml
%Vor%In der qml-Hauptdatei habe ich dieses Element verwendet und einen mouseArea hinzugefügt, wie unten gezeigt,
Haupt-Qml-Datei
%Vor%Diese Logik funktioniert jedoch nicht richtig und ist sehr flockig. Also kann man die Zeit nicht so flüssig einstellen. Am Ende des Tages versuche ich etwas zu implementieren, wie im Bild unten gezeigt. Der Benutzer sollte in der Lage sein, den Stunden-, Minuten- oder Sekundenzeiger zu bewegen, um die Zeit einzustellen.
Gibt es eine bessere Codelogik, die ich implementieren könnte?
Hinweis 1: Ich bin mir bewusst, dass der Sekundenzeiger im Bild sehr klein ist, aber das sollte schnell genug behoben werden.
Ich würde es so machen (ich habe einen einfacheren Code gemacht, da ich keine Ubuntu Touch Komponenten habe), aber die Rotationslogik ist hier und der Winkel zur zweiten Umwandlung auch:
%Vor%Funktioniert gut!