Seite 1 von 1
[gelöst] Hintergrundfarbe von Dialog einstellen
Verfasst: 16. September 2007 20:16
von pospiech
Ich würde gerne wissen wie ich einen Dialog zum einen Randlos machen und zum anderen die Hintergrundfarbe des Dialogs auf schwarz stellen kann.
In der Dokumentation habe ich für die Hintergrund Farbe keine Funktion finden können.
(Testen kann ich nicht weil der automatisch generierte Code nicht kompiliert, siehe
http://qtforum.de/forum/viewtopic.php?t=5017)
Matthias
Verfasst: 16. September 2007 22:31
von CaptnChaos
Hm, also wenn man die Doku ganz lieb fragt, man kann auch noch rituale hinzufügen (wie auf "Index" oder "Suche" klicken), dann spuckt sie nach etwas intensiver nutzung (d.h zb die QWidget Section durchlesen) aus, dass man mit QPalette alle beliebigen Fensterteile umfärben kann. Für das randlose Fenster guck mal unter setWindowFlags().
Viel Glück!
PS: Bist du der Latex-Guru in mrunix.de???
Verfasst: 16. September 2007 23:06
von pospiech
KernelPanic hat geschrieben:Hm, also wenn man die Doku ganz lieb fragt, man kann auch noch rituale hinzufügen (wie auf "Index" oder "Suche" klicken), dann spuckt sie nach etwas intensiver nutzung (d.h zb die QWidget Section durchlesen) aus, dass man mit QPalette alle beliebigen Fensterteile umfärben kann. Für das randlose Fenster guck mal unter setWindowFlags().
Viel Glück!
Klingt etwas kompliziert. Könnte man eigentlich auch ein Qpainter innerhalb des Dialogs nutzen und dann einen schwarzen Rahmen mit den Dialoggröße zeichen? So hatte ich das in MFC gelöst.
KernelPanic hat geschrieben:PS: Bist du der Latex-Guru in mrunix.de???
Ja, das bin ich...
Matthias Pospiech
Verfasst: 16. September 2007 23:31
von CaptnChaos
Warum was neu implementieren, was Qt kann?
Code: Alles auswählen
QPalette pal = this->palette();
pal->setColor(QPalette::Window, Qt::black);
this->setPalette(pal);
Fertig.
Das war alles.
Carpe Diem.
Verfasst: 17. September 2007 13:16
von CaptnChaos
klappts jetzt?
wenn ja mach bitte ein [gelöst] vor deinen Titel. dann guckt man nemmer dadrauf, es sei denn man hat ein ähnliches problem.
Verfasst: 17. September 2007 13:56
von pospiech
KernelPanic hat geschrieben:klappts jetzt?
wenn ja mach bitte ein [gelöst] vor deinen Titel. dann guckt man nemmer dadrauf, es sei denn man hat ein ähnliches problem.
Schon klar, ich kann aber nur Abends an meinen eigenen Programmen arbeiten. Zum Testen brauche ich also noch etwas Zeit...
Matthias
Verfasst: 17. September 2007 21:29
von pospiech
Ich habe jetzt in den Konstruktor der Klasse folgenden Code plaziert:
Code: Alles auswählen
QPalette pal = this->palette();
pal.setColor(QPalette::Window, Qt::black);
this->setPalette(pal);
SetWindowFlag(Qt::WA_FramelessWindowHint);
das führt aber nur zu den Fehlermeldungen
1>.\DialogPhaseShaperOutput.cpp(10) : error C2039: 'WA_FramelessWindowHint': Ist kein Element von 'Qt'
1>.\DialogPhaseShaperOutput.cpp(10) : error C2065: 'WA_FramelessWindowHint': nichtdeklarierter Bezeichner
1>.\DialogPhaseShaperOutput.cpp(10) : error C3861: "SetWindowFlag": Bezeichner wurde nicht gefunden.
dazu zwei Fragen:
- kann man in Konstruktor überhaupt das Fenster bearbeiten? In MFC geht das nicht, weil das Fenster ja noch nicht erstellt ist, sondern erst danach.
- muss ich dafür noch Includedateien Laden?
Matthias
Verfasst: 17. September 2007 22:13
von CaptnChaos
nein, du musst keine includes laden und ich bin nicht unfehlbar ich glaube da habe ich einen Fehler gemacht.
sry
Verfasst: 30. September 2007 16:42
von pospiech
KernelPanic hat geschrieben:nein, du musst keine includes laden und ich bin nicht unfehlbar ich glaube da habe ich einen Fehler gemacht.
es heißt sogar korrekter weise
aber dafür stürzt jetzt das Projekt beim starten einfach nur ab:
http://www.qtforum.de/forum/viewtopic.php?p=25883#25883
Matthias