Qt Status Label



  • Hallo,
    in Qt kann ich ja über den Sourcecode Status Label einer Statusbar hinzufügen. Aber geht das auch irgendwie mit dem Designer in der.ui? Also in die Statusbar rein ziehen klappt nicht.



  • Du kannst in den Properties den statusTip setzen. Den String siehst du dann im MainWindow->statusBar().
    Aber das ist eben nur ein String, wenn du da unten Labels mit Bildern oder am Ende sogar eigene Widgets einfügen willst, geht das nur über Code, wenn ich das richtig sehe.



  • Der Statustip kommt ja aber nur kurz.

    wenn ich z.B. einen Button habe. Am Programm Anfang soll in der Bar eine 0 stehen. Wenn ich den Button das erste mal drücke eine 1 wenn er wieder gedrückt wird eine 0... aber irgendwie will das nicht richtig funktionieren.



  • Thorsten20 schrieb:

    wenn ich z.B. einen Button habe. Am Programm Anfang soll in der Bar eine 0 stehen. Wenn ich den Button das erste mal drücke eine 1 wenn er wieder gedrückt wird eine 0... aber irgendwie will das nicht richtig funktionieren.

    Sowas geht nicht. Der Designer ist nur dazu da, deine UI zusammen zu flicken. Du kannst schon connects machen, du kannst sogar Widgets promoten und dann eigene SIGNALS und SLOTS hinzufügen, die du dann connecten kannst (siehe einfach Doku).
    Du kannst dir aber keinen Code generieren lassen, der so bereits individuelle Funktionalität implementiert - und was anderes ist dein "abwechselnd 0 und 1 in die StatusBar schreiben" nunmal nicht, selbst wenn es arg primitiv ist.



  • Ja das sollte auch in den Code. Aber es klappt eben mit setstatustip nicht. Also es wird komisch angezeigt irgendwie.



  • Also wenn ich z.B bei einen Button im click event this->setstatustip("Test") mache. Dann wird die Statusbar erst aktualisiert, wenn wenn ich z.B. im Menü was mache, oder in einer combobox.



  • Thorsten20 schrieb:

    Ja das sollte auch in den Code. Aber es klappt eben mit setstatustip nicht. Also es wird komisch angezeigt irgendwie.

    Das ist keine Fehlermeldung!
    Zeig doch einfach mal Code und beschreib genau, was nicht stimmt.



  • Der Code:

    void MW::on_button1_clicked() {
        this->setStatusTip("Test");
    }
    


  • Das mit der statusTip war ein Vorschlag, um eine Message über den Designer zu setzen.
    setStatusTip macht scheinbar kein update(), dieses kannst du natürlich noch selber ausführen.
    Aber prinzipiell gibt es eine bessere Möglichkeit, das zu erledigen:
    QStatusBar::showMessage()



  • Das Problem ist nur, dass das ja wieder überblendet werden kann. Es gibt ja aber auch über Code die Möglichkeit in die statusbar Labels einzufügen, die Permanent sind. Das geht im Designer nciht, oder?



  • Nein, du kannst mit dem Designer keine Widgets in die StatusBar packen, das geht nur per Code.
    Aber mal ehrlich, das ist ein Zweizeiler...

    this->statusWidget = new StatusWidget; // sollte es ein ganz eigenes, spezielles werden...
    this->statusBar()->addPermanentWidget(this->statusWidget);
    

    Die ganzen Posts hier haben deutlich mehr Tastenanschläge erfordert...


Anmelden zum Antworten