Seite 1 von 1

QMessageBox Button größe

Verfasst: 20. Dezember 2004 10:34
von gandalf
Hallo

ich will die Button in meiner QMessageBox auf eine bestimmte Größe haben irgendjemand eine Idee wie das gehen könnte??

Die Buttonbreite ist ja zu einem Teil über die Stringlänge bestimmt.
Die "HTML-Variante" für Strings geht hier nicht.

Es soll über QApplication::void setGlobalStrut ( const QSize & strut ) gehen
ich versteh aber irgendwie das Beispiel in den Docs nicht http://doc.trolltech.com/3.3/qapplicati ... lobalStrut

hat jemand eine Idee

Gruß gandalf

Verfasst: 20. Dezember 2004 14:04
von FlorianBecker
Hallo, also ich löse das immer als einfach als möglich:
setMinimumSize( QSize( 0, 24 ) );
setMaximumSize( QSize( 32767, 24 ) );

Damit ist dein Button immer 24px breit, und die Anpassung erfolgt an den Text und an dein Layout.

Wie das mit dem Size Hint geht, hab ich nicht wirklich ne Ahnung, allerdings kann man das mit dem designer so einstellen, dass das dann mitgeht. Wobei ich keinen Unterschied von meinem Bsp. auf das Doc Beispiel sehe.

Verfasst: 20. Dezember 2004 14:22
von gandalf
ja das geht auch wenn man die Button als Attribute vorliegen hat da sie ja eh von QWidget erben. Bei einer QMessageBox hast du allerdings nur Zugriff auf den Text der Buttton und auf sonst nichts.

Das Ändern der Breite funktioniert automatisch über die Textlänge sonst gibt es keine Funktion in QMessageBox die sich auf deren Button bezieht.

Deswegen ja meine Frage zu globalStrut.

gandalf

Verfasst: 20. Dezember 2004 14:29
von FlorianBecker
Ach, nu.

Ja, gute Frage. Ich habe mir ne eigene MessageBox Klasse geschrieben.

Verfasst: 20. Dezember 2004 14:37
von gandalf
:?
das wollte ich eigentlich vermeiden , müßte sonst so viel ändern, hab das am anfang vergessen weil die meisten nur für mich waren zum testen. nun hab ich aber einige belassen und die wollt ich nicht alle ersetzen. Aber die Button sind bei 1024x768 auf einem Touchscreen ein bißchen klein

gandalf