Включить сжатие QLabel, даже если он усекает текст

Как я могу изменить размер QLabel, даже если это означает усечение содержащего его текста? У меня есть QLabel, растягивающий все горизонтальное пространство виджета. При настройке его текста я удостоверяюсь, что он правильно усечен, т. е. получает свои FontMetrics и Width и использует метрики.elidedText ().

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

есть идеи, как это решить? Самый простой решение я думаю, было бы как-то сказать QLabel всегда сжиматься, а затем поймать событие изменения размера и правильно форматировать текст - я просто не знаю, как сделать первую часть (разные политики размера не помогают)

1 ответов


хотя вы упоминаете, что политика установки размера не помогла, установка QLabelгоризонтальный размер политики в QSizePolicy::Ignored должен сказать содержащему менеджеру макета игнорировать любую подсказку минимального размера из метки. Альтернативой было бы установить QLabelминимальный горизонтальный размер до ненулевого значения, например 1. Если ни то, ни другое не работает, тогда вмешивается что-то другое.