Чи є рішення вбудувати QLabel в QStatusBar за допомогою Qt Designer?
Відповіді:
26 за відповідь № 1Я не вірю в це. Хоча додавати програму досить просто, проте досить просто.
Якщо ви просто хочете показати повідомлення, ви можете використовувати: statusBar()->showMessage(tr("Message Here"));
або, якщо вам дійсно потрібен QLabel на панелі стану, ви можете зробити щось відповідно до:
QLabel *label = new QLabel("Message");
statusBar()->addWidget(label);
label
стала б дитиною statusBar()
, і з’являться в першому порожньому місці знизу зліва (addPermanentWidget(label)
додали б його до першого порожнього місця знизу праворуч). Якщо ви розмістите QLabel label
у заголовку класів (чи іншому імені var) ви зможете отримати доступ до змінної безпосередньо пізніше (видаливши початкову QLabel
введіть з першого рядка, звичайно).
5 для відповіді № 2
Це неможливо, навіть якщо ви вручну редагували файл інтерфейсу.
5 для відповіді № 3
З Qt Designer це неможливо. Я вирішую це, створюючи label a в Qt Designer і пізніше в конструкторі мого MainWindows
додати цей рядок:
Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label");
У моїй програмі назва класу mainwindows - це MainWindowsForm
, рядок стану названий statusBar
і ярлик названий informationLabel
. Тоді я маю:
Ui::MainWindowsForm::statusBar->addWidget(informationLabel);