Полагаю, когда вы говорите, что это не работает, вы не видите строку состояния во время работы.
Я не вижу способа сделать это полностью в конструкторе.Дизайнер, безусловно, сопротивляется идее продвижения чего-то до QStatusBar
.Я полагаю, вы могли бы обмануть дизайнера, создав подкласс QStatusBar
, а затем повысив QWidget
до своего подкласса.
Но я не думаю, что нам пока нужно идти по этому пути.Я думаю, что несколько настроек вашего кода должны помочь.
В конструкторе добавьте макет, не имеет значения, какого рода, внизу вашего диалога.Я назвал мой «StatusBarLayout».Вы можете увидеть макет (красная коробка, которая сплющена внизу).Я удалил нижнее поле в диалоговом окне, чтобы строка состояния находилась в нижней части.
Теперь удалите все в приведенном выше коде с макетом l и просто сделайте это:
bar = new QStatusBar(this);
pUI->StatusBarLayout->addWidget(bar);
pUI->textEdit->setStatusTip("XXX");
textEdit
был добавлен в конструктор.Теперь, когда вы запустите его, вы должны увидеть это:
Надеюсь, это поможет
Редактировать:
Вы также можете установить подсказки статусадля различных виджетов в дизайнере, так что нет необходимости делать это в коде, если вы не хотите.