выровнять центр строки состояния qt? - PullRequest
3 голосов
/ 10 декабря 2010

Как я могу выровнять текст по центру в QStatusBar?По умолчанию он всегда выравнивается по левому краю.

Я знаю, что могу добавить QLabel и установить выравнивание, но я хочу использовать простой текст и метод .showMessage (QString, int), чтобы я мог добавить значение времени ожидания.

Ответы [ 2 ]

4 голосов
/ 26 сентября 2013

Если вы просто хотите центрировать само сообщение во всей строке состояния, сделайте так:

QLabel* statusLabel = new QLabel("Your Message");
statusBar()->addWidget(statusLabel,1);

Этот дополнительный параметр 1 растягивает вашу метку до полной ширины строки состояния.

Привет

3 голосов
/ 10 декабря 2010

QStatusBar имеет здесь три функции, на которые следует обратить внимание:

addPermanentWidget - размещает виджет по правому краю

addWidget - размещает виджет по левому краю, который может быть скрыт сообщениями статуса1007 *

showMessage - отображает сообщение о состоянии

Это хорошо установленные стандарты для строк состояния.Хотя вы можете взломать, чтобы получить то, что вы ищете, я бы посоветовал вам пересмотреть свои потребности.Возможно, вместо вашего QLabel стоит добавить addPermanentWidget?

Посмотрите документы для получения дополнительной информации: http://doc.qt.io/qt-5/qstatusbar.html

...