Как сделать так, чтобы высота QPushButton автоматически помещалась в текст? - PullRequest
1 голос
/ 06 ноября 2019

У меня есть QPushButton

QPushButton *btn = new QPushButton();
btn->setText("Push \n Button");

Результат:

enter image description here

Я пробовал btn->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred) с Qt Designerно это не помогает. enter image description here

Как сделать так, чтобы высота кнопки автоматически настраивалась в соответствии с содержимым, когда я звоню setText?

1 Ответ

1 голос
/ 06 ноября 2019

Вы можете установить вертикальную политику размера для опции, которая позволяет виджету расти, опция по умолчанию для политики вертикального размера QPushButton является фиксированной, вы можете сделать это следующим образом из кода:

btn->setText("Push \n Button");
btn->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);

Вы можете изменить его в конструкторе, если используете его для создания пользовательского интерфейса. См. Дополнительные параметры в документации здесь и выберите тот, который наилучшим образом соответствует вашим потребностям.

Также используйте макеты для ваших виджетов, они очень помогают, особенно если ваши окна могут изменять размер.

...