QStatusBar showMessage + permanent widgets
-
Hallo zusammen,
habe eine QStatusBar in meinem MainWindow.
Dieser habe ich 2 permanente Widgets zugewiesen. Leider verdecken diese nun die
messages in der linken unteren Ecke.Habe das gelöst indem ich den permanenten Widgets eine maximale Breite zugewiesen habe.
Das funktioniert soweit, nur wäre es gut, wenn sich die Widgets mit verändern der
Fenstergröße auch anpassen.Hat das schonmal jemand gemacht? Ich habs bisher nicht hinbekommen.
Mein Versuch ein Spacing an das Layout hinzuzufügen war leider auch
erfolglos.QHBoxLayout *sbarLayout = qobject_cast<QHBoxLayout*>(statusBar()->layout()); if (sbarLayout) { sbarLayout->addSpacing( 200 );
-
Wenn die permanenten Widgets die Messages überdecken, heißt das
- die permanenten Widgets sind zu groß
- Die normalen Messages sind zu lang
- Das MainWindow ist zu klein
1: Mach sie kleiner
evtl. reicht ein blinkender Button, der die Aufmerksamkeit des Users auf sich zieht, der Inhalt wird beim click/hover angezeigt
2: Riesige Messages haben in der StatusBar nichts zu suchen. Wenn so viel gesagt werden muss, wäre eine MessageBox besser.
3: Wenn die Status-Info mehr Platz braucht als das Fenster selber, ist an deinem Konzept was falschÜberleg dir, ob die permanentWidgets wirklich in die StatusBar müssen, oder ob sie nicht doch im Hauptfenster besser aufgehoben wären.
Alternativen:
* Statt addPermanentWidget einfach addWidget
* Eine eigene StatusBar-Klasse, die deinen Ansprüchen genügt (evtl. über zwei Zeilen o.Ä.)
-
Mein Problem ist, dass ich den permanenten Widgets keine feste Größe geben will.
Ich kann ihnen zwar einen strech Faktor geben, aber wenn ich keine maximale
Breite angebe verwenden die permanenten Widgets die gesamte Breite der StatusBar.Die Messages werden dann gar nicht mehr angezeigt. Ich hätte gerne, dass ich quasi einen
Strechfaktor oder was auch immer angeben kann, damit in der Statusbar ein Bereich frei bleibt,
an dem die Messages angezeigt werden.Mit festen größen funktioniert das ja.