Встраивание QLabel в QStatusBar с использованием Qt Designer - PullRequest
22 голосов
/ 26 апреля 2010

Есть ли какое-либо решение для встраивания QLabel в QStatusBar с использованием Qt Designer?

Ответы [ 3 ]

26 голосов
/ 30 апреля 2010

Я не верю в это. Это довольно просто, чтобы добавить один программно, хотя.

Если вы просто хотите показать сообщение, вы можете использовать: statusBar()->showMessage(tr("Message Here")); или, если вам действительно нужен QLabel в строке состояния, вы можете сделать что-то вроде:

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

label станет дочерним элементом statusBar() и появится в первом пустом месте слева внизу (addPermanentWidget(label) добавит его в первое пустое место справа внизу). Если вы поместите QLabel label в заголовок класса (или другое имя переменной), вы сможете получить доступ к переменной непосредственно позже (конечно, удалив начальный тип QLabel из первой строки).

5 голосов
/ 15 сентября 2012

Это невозможно с Qt Designer. Я разрешаю это, создав метку 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);
5 голосов
/ 02 мая 2010

Это невозможно, даже если вы вручную отредактируете файл пользовательского интерфейса.

...