Seite 1 von 1
QDialog - Qt::WindowFlags setzen
Verfasst: 9. Juni 2008 13:42
von jd
Hallo Gemeinde, habe einen QDialog, wo die MinMaxButons ausgeblendet werden sollen, jedoch werden meine Flags ignoriert, oder ich mache was falsch.
Code: Alles auswählen
CAboutDialog::CAboutDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, Qt::WindowMinMaxButtonsHint) {
setupUi(this);
setWindowFlags(f); // ein- aus kommentiert, das macht keine Unterschied
connect(okPushButton, SIGNAL(clicked()),
this, SLOT(close()));
}
Sieht da jemand meinen Fehler, oder mache ich das von grund auf falsch?
so long
jd
Verfasst: 9. Juni 2008 14:04
von Christian81
Du setzt die Flags im QDialog ctor und wunderst Dich das sie angezeigt werden?
Verfasst: 9. Juni 2008 14:52
von jd
Naja... das ist alles etwas komisch...
Code: Alles auswählen
setWindowFlags(!Qt::WindowContextHelpButtonHint | !Qt::WindowMinMaxButtonsHint);
Das ? ist weg der Rest ist doch da... mache ich
ist das ? weg und der Rest nicht.
Das Thema wurde hier zwar schon oft durch gekaut, aber bei mir funktioniert keine der von mir versuchten Methoden die ich hier im Forum gefunden habe.
Verfasst: 9. Juni 2008 15:58
von Christian81
C Grundlagen ...
'!' macht nicht das was Du denkst!! Außerdem überschreibst Du die schon gesetzten Flags. Du musst sie mit windowFlags() holen, dein Flag löschen und dann mit setWindowFlags() setzen.
Verfasst: 9. Juni 2008 16:06
von jd
Jo, weiß schon das dass ! falsch ist...
so wie du das sagst müsste das ja so aus sehen.
Code: Alles auswählen
setWindowFlags(windowFlags()&!Qt::WindowMinMaxButtonsHint);
Nur geht das nicht. Ich habe die alle Methoden hier im Forum durch probiert, nix funktioniert. Beispiel:
http://www.qtforum.de/forum/viewtopic.p ... indowflags
Hier ist mal mein kompletter code.
Code: Alles auswählen
CAboutDialog::CAboutDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) {
setWindowFlags(windowFlags()&!Qt::WindowMinMaxButtonsHint);
setupUi(this);
connect(okPushButton, SIGNAL(clicked()),
this, SLOT(close()));
}
Da muss irgendwie ein Fehler sein. Das mit den Flag löschen kapiere ich nicht... wie löscht man den? In der Doku kann ich nichts finden, wie man Flags löscht, oder ich suche einfach an der falschen Stelle.
Verfasst: 9. Juni 2008 16:16
von Christian81
jd hat geschrieben:Jo, weiß schon das dass ! falsch ist...
Und warum benutzt Du es dann immernoch???
Verfasst: 9. Juni 2008 16:37
von jd
Ich kapiers nicht. Schau mal auf den Link da oben. Da habe ich das her...
Code: Alles auswählen
setWindowFlags(windowFlags()&!Qt::WindowMinMaxButtonsHint);
Das habe ich auch aus Google. Das funktioniert nicht, also muss was falsch sein. Ich finde aber nur die Möglichkeiten die ich dir gezeigt habe.
Verfasst: 9. Juni 2008 16:42
von Christian81
Ok, zum dritten Mal !
'!' macht nicht das was Du denkst. Nimm ein C-Buch, schau dir bit-ändernde und logische Operatoren an und lern den Unterschied!
Nur weil es aus Google ist muss es nicht stimmen - wie leichtgläubig sind hier einige?
Verfasst: 9. Juni 2008 19:40
von MiKla
versuch es mal mit: & ~Qt::WindowMinMaxButtonsHint
Verfasst: 9. Juni 2008 19:41
von PeterLustig
Michael.Klank hat geschrieben:versuch es mal mit: & ~Qt::WindowMinMaxButtonsHint
Vorkauen ist nicht helfen!
Verfasst: 9. Juni 2008 20:00
von MiKla
Vorkauen ist nicht helfen!
hast ja Recht
