elide Punkte sind zu hoch platziert
-
Hallo zusammen,
bei einem Checkbox oder Button ist die elide Property in einem Item Property wie folgt definiert:
contentItem: Item { id: contentItem Text { id: contentItemText ..... elide: Text.ElideRight }
allerdings wenn der Text zu lang ist, werden dann drei Punkte dargestellt.
Diese Punkte müssen normalerweise auf der Basislinie platziert sein. Sie sind aber einige Pixel zu hoch platziert.Mir ist die Ursache nicht bekannt. Wisst ihr wie kann ich dann trotzdem die Punkte auf die Basislinie platzieren?
Danke
-
Hi @Galilio
leider nein, zumal ich mir auch nicht richtig vorstellen kann, wie das genau aussieht!
Hast du ein Screenshot zur Hand und eventuell nen minimales Beispiel? Dann würde ich das mal versuchen nachzustellen an meinen PC's und Qt Versionen :)
Der Grund warum ich nach nem mce frage ist, weil ich festgestellt habe, das viele Fehler oder Fehlverhalten verschwinden wenn man es auf kleinerer Skalierung versucht herunterzubrechen
-
In der Screenshots ist zu sehen, dass die Punkte um einen paar Pixel versetzt sind.
Codemässig sieht eigentlich wie folgende aus:
Button { id: rootId width: 50 height: 50 background:Rectangle { width:50 height: 50 ... } contentItem: Item { .... Text { text: "sdfkjshdkfjhskdjfhskdjfhver" color: "black" elide: Text.ElideRight } } }
-
@Galilio wenn du kannst, würde ich mal eine andere Version versuchen, zumindest die letzte 5.9 version (ist ja LTS)
ansonsten würde ich sagen
https://bugreports.qt.iosry :(
-
Hallo @J-Hilk
Ich habe auch einen Dummybeispiel für die gleiche Qt Version erstellt.
Ich sehe das geschilderte Problem auch nicht. Die Punkten sind genau in der richtige Stelle, wie es zu erwarten ist.In meine Applikation ist aber leider nicht so. Die Punkten sind nicht auf der Basislinie platziert.
-
Hi @Galilio
na, da sind wir ja schonmal einen Schritt weiter!
Jetzt kannst du eigentlich nur hin gehen und, entweder dein dummy Beispiel langsam erweitern bis es dem original code entspricht, oder den original code langsam reduzieren. Auf jedenfalls solltest du so der Sache auf der Spur kommen können!
-
@J-Hilk
Problem war, dass wir eine eigene Font verwenden und sobald die property elide beim Text auf ElideRight gesetzt ist und der Text lang ist, werden die drei Punkte nicht auf die Basislinie dargestellt sondern um eine Paar Pixel nach Oben verschoben.