QLabel Einbettung in QStatusBar Qt-Designer
-
01-10-2019 - |
Frage
Gibt es eine Lösung einzubetten einer QLabel in QStatusBar mit Qt Designer?
Lösung
Ich glaube nicht. Es ist ziemlich einfach ein programmatisch hinzufügen, though.
Wenn Sie nur eine Nachricht zeigen wollen, könnten Sie verwenden: statusBar()->showMessage(tr("Message Here"));
, oder alternativ, wenn Sie wirklich einen QLabel in der Statusleiste benötigt, könnten Sie etwas entlang der Linien von tun:
QLabel *label = new QLabel("Message");
statusBar()->addWidget(label);
label
würde ein Kind von statusBar()
worden, und in der ersten leeren Stelle von unten links angezeigt (addPermanentWidget(label)
es auf die ersten leere Stelle von unten rechts hinzufügen würde). Wenn Sie QLabel label
in den Klassen-Header (oder andere var name) platzieren, würden Sie in der Lage sein, die Variable für den Zugriff direkt später (Entfernen des anfänglichen QLabel
Typ von der ersten Zeile, natürlich).
Andere Tipps
Es ist nicht möglich, auch wenn man es manuell bearbeiten UI-Datei.
Es ist nicht möglich, mit Qt Designer. Ich nehme mir vor es durch Markierung eine in Qt Designer erstellen und später in Konstruktor meiner MainWindows
fügen Sie diese Zeile:
Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label");
In meiner Anwendung, der Klassenname mainwindows MainWindowsForm
ist, wird die Statusleiste namens statusBar
und das Etikett informationLabel
benannt. Dann habe ich:
Ui::MainWindowsForm::statusBar->addWidget(informationLabel);