QT 5 Canvas - Lines nach Text

Rund um die LCL und andere Komponenten
Antworten
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

QT 5 Canvas - Lines nach Text

Beitrag von Warf »

Hey ho,

Ich bin grade über einen äußerst nervtötenden Bug im QT 5 Widgetset gestoßen. Wenn man in einem Canvas zeichnet, gehen einige Pen Modifier (Width, Style) verloren wenn man TextOut aufruft.

Beispiel:

Code: Alles auswählen

 
  with PaintBox1.Canvas do
  begin
    Pen.Style:=psDash;
    Pen.Width:=4;
    Line(0,0, 50, 50);
    TextOut(0,0,'ABC');
    Line(0,50, 50, 0);
    Line(50,0, 50, 50);
  end;   


Die erste Line wird mit breite 4 und Dashes gezeichnet, die zwei nach dem Textout werden mit Width 1 und Solid gezeichnet. Das doofe ist jetzt, selbst wenn ich nach dem TextOut den penStyle oder Width neu setze, ändert das nix dran (also

Code: Alles auswählen

 
  with PaintBox1.Canvas do
  begin
    Pen.Style:=psDash;
    Pen.Width:=4;
    Line(0,0, 50, 50);
    TextOut(0,0,'ABC');
    Pen.Style:=psDash;
    Pen.Width:=4;
    Line(0,50, 50, 0);
    Line(50,0, 50, 50);
  end;   

Hilft nicht).
Kann von euch eventuell jemand den bug reproduzieren, oder gibt es dafür nen bekannten workaround?
Bei meinem aktuellen Projekt kein großer Dealbreaker, da ich den text auch einfach am schluss printen kann, aber im allgemeinen kann ich mir vorstellen das das zu nem echt frustrierenden problem werden kann

Antworten