QDialog - Qt::WindowFlags setzen

Alles rund um die Programmierung mit Qt
Antworten
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

QDialog - Qt::WindowFlags setzen

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Du setzt die Flags im QDialog ctor und wunderst Dich das sie angezeigt werden?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag 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

Code: Alles auswählen

setWindowFlags(!Qt::WindowMinMaxButtonsHint);
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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

jd hat geschrieben:Jo, weiß schon das dass ! falsch ist...
Und warum benutzt Du es dann immernoch???
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
jd
Beiträge: 130
Registriert: 22. Januar 2008 17:55

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

versuch es mal mit: & ~Qt::WindowMinMaxButtonsHint
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Michael.Klank hat geschrieben:versuch es mal mit: & ~Qt::WindowMinMaxButtonsHint
Vorkauen ist nicht helfen!
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

Vorkauen ist nicht helfen!
hast ja Recht :roll:
Antworten