Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
Alessandro Moreschi — The Last Castrato (Opal, 1984)
#renaissance#baroque#classicism#romanticism#Italy
Алессандро Морески — один из последних певцов-кастратов и единственный, чей голос был записан на фонограф. Родился Алессандро в 1858 году в коммуне Монте-Компатри в Папской Области. В детстве у него обнаружили паховую грыжу, единственным методом лечения которой была кастрация. Уже в 15 лет он стал первым сопрано в базилике Сан-Джованни-ин-Латерано, а в возрасте 25 лет поступил в Сикстинскую Капеллу, в которой прослужил 30 лет. Устаревшая техника пения Морески звучит странно для современного слушателя и может быть неверно истолкована как слабость. Именно поэтому оценка творчества певца разделилась на два лагеря. Один называют его посредственным певцом, запомнившимся только тем, что он был последним в своем роде. Другие говорят, что записи Алессандро — удивительный памятник навсегда исчезнувшего искусства певцов-кастратов.
Spotify | AppleMusic | VK
Alexandre Desplat — The Grand Budapest Hotel (ABKCO, 2014)
#baroque#classicism#traditional#balkan#soundtrack#Russia#France
Саундтрек Александра Деспла к фильму Уэса Андерсона «Отель „Гранд Будапешт“», созданному по мотивам рассказов Стефана Цвейга. Помимо того, что он содержит массу отсылок к григорианским хоралам, музыке эпохи борокко и классицизма, в нем очень широко представлена балканская музыка и музыка восточной Европы, а финальную композицию исполняет Оркестр народных инструментов имени Н. П. Осипова. Действие фильма разворачивается в вымышленной восточноевропейской стране Зубровке, в период между двумя мировыми войнами, и представляет собой аллегорию общественной и политической жизни восточной Европы первой половины 20 века. Очевидно, масштаб задумки Андерсона произвел впечатление на Деспла: он проделал титаническую работу для того, чтобы создать свою интерпретацию музыки того времени и тех мест.
Spotify | AppleMusic