/ / Osadzanie QLabel w QStatusBar przy użyciu Qt Designer - qt4, etykieta, qt-creator, pasek stanu, qt-designer

Umieszczanie QLabel w QStatusBar za pomocą Qt Designer - qt4, label, qt-creator, statusbar, qt-designer

Czy istnieje jakieś rozwiązanie, aby osadzić QLabel w QStatusBar przy użyciu Qt Designer?

Odpowiedzi:

26 dla odpowiedzi nr 1

Jednak nie wierzę w to. Dość łatwo jest dodać programowo.

Jeśli chcesz tylko wyświetlić wiadomość, możesz użyć: statusBar()->showMessage(tr("Message Here"));lub alternatywnie, jeśli naprawdę potrzebujesz QLabel na pasku stanu, możesz zrobić coś w stylu:

QLabel *label = new QLabel("Message");
statusBar()->addWidget(label);

label stałby się dzieckiem statusBar()i pojawiają się w pierwszym pustym miejscu od lewego dolnego rogu (addPermanentWidget(label) dodałby to do pierwszego pustego miejsca od prawego dolnego rogu). Jeśli umieścisz QLabel label w nagłówku klas (lub innej nazwie var) możesz uzyskać dostęp do zmiennej bezpośrednio później (usuwając wartość początkową QLabel oczywiście od pierwszego wiersza).


5 dla odpowiedzi nr 2

Nie jest to możliwe, nawet jeśli ręcznie edytujesz plik interfejsu użytkownika.


5 dla odpowiedzi nr 3

W Qt Designer nie jest to możliwe. Rozwiązuję to, tworząc etykietę w Qt Designer, a później w moim konstruktorze MainWindows dodaj tę linię:

Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label");

W mojej aplikacji nazwa klasy mainwindows to MainWindowsForm, pasek stanu ma nazwę statusBar i nazwa etykiety informationLabel. Wtedy ja mam:

Ui::MainWindowsForm::statusBar->addWidget(informationLabel);