Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🏞Lake Bled and Bled Castle — top Slovenian gems!
Crystal-clear waters and stunning mountain views 🌲
A small island with a church in the center, accessible by a traditional pletna boat 🚤
📏
📏
📏
📏
📏
📏
📏
📏
#Slovenia | @voyage
#Italia#Slovenia
⚛ Energia Nucleare: Il governo italiano ha dato un parere negativo al prolungamento dell’attività della centrale nucleare di Krško, in Slovenia, che si trova a poco più di 100km dal confine, nonostante le rassicurazioni tecniche del governo sloveno. Il Ministero della Transizione Energetica ha chiesto alla Slovenia di chiudere la centrale nucleare.
@UltimoraPolitics
#Slovenia🇸🇮
#Parlamentari
❓Come si vota in Slovenia?
L'Assemblea Nazionale (Državni zbor) si compone di 90 membri, eletti ogni 4 anni. 88 deputati sono eletti con sistema proporzionale a liste aperte in 8 circoscrizioni, ognuna delle quali elegge 11 membri:
1. Kranj;
2. Postumia (Postojna);
3. Lubiana Centro (Ljubljana Center);
4. Lubiana-Bežigrad (LjubljanaBežigrad)
5. Celje;
6. Novo Mesto;
7. Marburgo (Maribor);
8. Ptuj.
I seggi sono assegnati primariamente, su base circoscrizionale, con il quoziente di Droop; quelli non allocati sono riassegnati a livello nazionale con il metodo D'Hondt; è prevista una soglia di sbarramento del 4%. I restanti 2 seggi sono assegnati alle minoranze ungherese e italiana, con il metodo Borda.
In foto: il palazzo della Državni zbor (Lubiana).
@TuttoElezioni
#Elezioni#Slovenia
N1: A Lubiana l'affluenza record, non prevista alla vigilia, ha causato forti problemi nei seggi. In alcuni seggi gli elettori non hanno potuto votare, poiché erano finite le schede elettorali.
@UltimoraPolitics