[QPainter].drawLine im Vordergrund darstellen

Alles rund um die Programmierung mit Qt
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

@JoseMan
warum ist das nicht sauber
Weil die Painter-Instanz nur MyLineWidget was angeht und daher gekapselt werden sollte.
und warum tut es das nicht?
1. painter wird mit "this" als Parent erstellt und mahlt daher auf "this", nicht auf das line-Widget
2. es gibt kein QPainter::draw(int....).. siehe http://doc.trolltech.com/4.5/qpainter-members.html
3. "line" ist bei dir lokal und wird daher sofort wieder zerstört (=gar nie angezeigt)
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

hm, hab immernoch nicht ganz begriffen, wie ich aus zB einer QGraphicsScene ein Widget mache :? .... kann mir das jemand sagen?


gruß
Qt 2009.05
Entw.-umgebung Qt-Creator
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was hat das mit dem Thema zu tun? Außerdem kann man aus einer Scene keine Widget 'machen'. Man kann sie nur darin anzeigen lassen. Und wie das geht steht u.a. in der Doku von QGraphicsScene.
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

Hallo,

da bin ich wieder,
mit etwas mehr Know-How ;)

Also ich habe mir eine Klasse erstellt, welche von QWidget abgeleitet wird.
Mein Ziel war es, ein Widget zu erstellen, welches einen transparenten Hintergrund hat.
Das einzigste, was von diesem Widget zu sehen sein soll, sind die im paintEvent() gemalten Striche.
Ich möchte also nicht das komplette Widget als Balken darstellen.
Mein Ziel ist es in diesem Widget mehrere Striche/Kreise/etc... darzustellen und den Rest trotzdem durchsichtig zu lassen.
Also eine Art: Overlay

Hat mir da jemand eine Idee?


Versucht habe ich schon folgendes:

Code: Alles auswählen

setAttribute(Qt::WA_NoSystemBackground,true);

setAttribute(Qt::WA_TranslucentBackground);

setStyleSheet("QWidget { background: transparent}");

setWindowOpacity(0.5);
...
Qt 2009.05
Entw.-umgebung Qt-Creator
Antworten