2010-12-09 1 views
3

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

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

ответ

2

QStatusBar имеет три функции примечание здесь:

addPermanentWidget - места права виджета выровненного

addWidget - Размещает виджет левого края, которые могут быть не видны сообщениями о состоянии

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

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

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

+0

ok. но как я могу добавить таймаут, если я использую addPermanenetWidget? – ZolaKt 2010-12-10 11:03:18

3

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

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

Этот дополнительный параметр 1 растягивает ваши Обозначьте полную ширину панели состояния.

Приветствия