QDialog anpassen[gelöst]

Verschiedenes zu Qt
Antworten
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

QDialog anpassen[gelöst]

Beitrag von Qt-nator »

Hi,

folgendes:

Ich habe eine Klasse die ist von QDialog abgeleitet. Und ich möchte jetzt sagen das man das Fenster nicht vergrößen noch verkleinern kann. (Also groß und klein ziehn) und das alle Buttons weg sind.

Das X, Help, min, max.

Bei den Buttens hab ich 3 schon weg. Aber mit dem verändern der größe bin ich ratlos.

Da gibts doch bestimmt etwas einfaches was man setzen muss und dann gehts.

Danke im Vorraus

Qt-nator
Zuletzt geändert von Qt-nator am 23. Juni 2008 16:45, insgesamt 1-mal geändert.
kitov
Beiträge: 36
Registriert: 29. November 2006 12:24

Re: QDialog anpassen

Beitrag von kitov »

man Qt::WindowFlags
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Ja klar,

Code: Alles auswählen


  setWindowFlags(windowFlags() ^ Qt::WindowTitleHint);

  setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);

hab ich ja nur den rest weis ich nicht
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Notfalls einfach minimumSize und maximumSize auf den selben Wert setzen.
Du kannst auch mal die WindowFlags "Qt::Tool" und "Qt::SplashScreen" ausprobieren.

EDIT: Man könnte auch das resizeEvent überschreiben und das Fenster immer wieder auf die "QResizeEvent::oldSize()" zurücksetzen :lol:
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

"Qt::Tool" und "Qt::SplashScreen" funktionieren nicht.

Bekommen ich bei beiden ein kleines fenster Ohne Inhalt.

Weis nicht ob das Sinn machen würd es immer wieder zurückzusetzen, muss doch auch irgendwas geben wo ich sagen kann man darf es garnicht erst vergrössern, verkleinern.

Des weiteren versteh ich nicht warum einige Butten mit dem Hide vorhanden sind andere aber wieder nicht.

Was mir noch fehlt ist der Close button und das icon.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Ich mache sowas mit layout()->setSizeConstraint(QLayout::SetFixedSize);
Hat den Vorteil das der Mauscursor nicht so tut, als wenn man was ändern könnte, wie es bei minimumSize=maximumSize der Fall wäre.

PS: Hätte man auch per Suche finden können, ist nämlich fast schon ne FAQ :-)
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Danke das Perfekt.

Aber nach was hätte ich den suchen sollen? Naja geht jedenfalls, jetzt hab ich nur noch das problem wie ich icon und X-Button weg bekomme.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Qt bringt ein schönes Beispiel namens 'windowflags' mit - da kannst Du es ausprobieren welche Flags gesetzt sein müssen. Es kommt auch ein wenig auf den Window-Manager an (denke ich) - heißt nicht umsonst 'Hint'. Unter KDE4 muss ich frameless window benutzen oder tooltip
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Code: Alles auswählen

   setWindowFlags(windowFlags() ^ Qt::FramelessWindowHint);
Macht alles das was ich brache danke für die Hilfe.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Aber das mit dem XOr würde ich mir nochmal überlegen - das funktioniert nämlich nicht immer...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
moviemax
Beiträge: 56
Registriert: 10. März 2008 09:49
Wohnort: München

Beitrag von moviemax »

da layout()->setSizeConstraint(QLayout::SetFixedSize);
habe ich auch schon ewig gesucht.
Klar wenn man es weiß ist es immer ganz einfach und logisch.

vielleicht weiß noch jemand einen trick wie man so einem dialog
oder sonstiges QWidget sagen kann, dass es _nicht_ aus dem
QMainWindow bereich raus soll. -- ne ein dockwidget darfs auch nicht sein.
moviemax
Antworten