Seite 1 von 1
[gelöst] Fade-in bzw. Fade-out Effekt
Verfasst: 23. Mai 2006 18:49
von Alci
Hallo,
folgende Frage: ist es mit QT möglich, einen Fade-in bzw. Fade-out Effekt zu implementieren? Ich habe ein eigenes Button-Control durch Subclassing erstellt. Jetzt möchte ich noch einen Fade-in bzw. Fade-out Effekt einbauen, aber wie?
Ich weiß z. B. von Opera (das, soweit ich informiert bin, QT benutzt), dass man dort bei den Buttons solch einen Effekt verwendet.
MfG, Alci.
Verfasst: 24. Mai 2006 16:59
von FlorianBecker
Das kann man in Qt einstellen, welchen Effekt man verwenden möchte.
void QApplication::setEffectEnabled ( Qt::UIEffect effect, bool enable = true ) [static]
Verfasst: 25. Mai 2006 11:40
von Alci
Hallo,
danke erstmal, aber leider ist da nicht's dabei, wonach ich suche. Gibt es nicht irgendeine andere Möglichkeit, die ich vielleicht irgendwie selbst mit QPainter realisieren könnte?
Z. B. beim Button:
wenn ich über den Button fahre, dann soll der MouseOver-Effekt sanft eintreten, d. h. ich muss mehrere male ein PaintEvent auslösen. Aber wie? Über einen Timer?
Kennt vielleicht jemand von euch ein OpenSource-Projekt, was solche Effekte einsetzt, und dabei auch noch zufällig QT verwendet?
Würde mir auch weiter helfen.
MfG, Alci.
Verfasst: 25. Mai 2006 18:28
von FlorianBecker
Die Events sind alle virtual, d.h. du musst Sie selbst überschreiben.
Also eine Klasse erstellen, die von QPushButton abgeleitet ist und paintEvent überschreiben mit dem, was du dir da genau vorstellst. Mit update wird dann jeweils in der Klasse das paintEvent manuell ausgeführt.
Verfasst: 25. Mai 2006 20:00
von Alci
Hi,
also wie ich ein PaintEvent technisch gesehen auslöse (über die Methode update()), weiß ich schon. Was ich eigentlich meinte ist, wie ich ein PaintEvent mehrere male auslösen kann.
Ich könnte ja sowas machen:
Code: Alles auswählen
update()
sleep(100)
update()
sleep(50)
update()
sleep(25)
update()
Was ja völliger Blödsinn wäre, weil ich damit die Anwendung blockiere.
Wie könnte ich das also anders machen bzw. wie wird das normalerweise gemacht.
MfG, Alci.
Verfasst: 27. Mai 2006 01:18
von uhu01
Hy!
Ich schätze mal dieser Artikel aus dem QtQuarterly wird dein Problem lösen:
http://doc.trolltech.com/qq/qq16-fader.html
Dort wird ein Proxy-Widget gebaut, das alle Widgets fade-fähig macht.
mfg
uhu01
Verfasst: 27. Mai 2006 12:12
von Alci
Hi,
vielen Dank. Wenigsten habe ich jetzt einen Anhaltspunkt. Ich werde mir das ganze mal durchlesen.
Thx nochmal, Alic.
Verfasst: 27. Mai 2006 17:22
von Alci
Hallo nochmal,
hat wunderbar geklappt (siehe Anhang).
Danke.
MfG, Alci.
Verfasst: 29. Mai 2006 17:50
von uhu01
Hy!
Wie wärs mit einem Eintrag in "Snippets"?
mfg
uhu01
Verfasst: 29. Mai 2006 18:17
von Alci
Hi,
nun ja, wenn Bedarf da ist, kein Problem. Ich versuche, dass ich das noch innerhalb dieser Woche bei "Snippets" eintrage. Garantieren kann ich aber nichts, da ich in letzter Zeit etwas wenig Zeit habe.
Verfasst: 4. Juni 2006 14:45
von Alci
Hallo nochmal,
ich habe jetzt mal ein Topic (fälschlicherweise) unter "Projekte" erstellt, falls das jemand unter "Snippets" erwartet hätte. Bitte die Admins aber nochmals, das zu ändern. Ansonsten bin ich schon mal auf das Feedback gespannt.