Czy istnieje jakieś rozwiązanie, aby osadzić QLabel w QStatusBar przy użyciu Qt Designer?
Odpowiedzi:
26 dla odpowiedzi nr 1Jednak 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);