Авторазметка в Qt

Я разрабатываю приложение Qt, и в настоящее время оно проходит внутреннее бета-тестирование. Один из сотрудников компании настроил Windows на отображение текста больше обычного размера, что нарушает мой пользовательский интерфейс. Например, страница About в настоящее время выглядит следующим образом:

Нормальная внешность

но в его настройках выглядит так (обратите внимание на вырезанный текст):

Большой текстовый вид

Исходя из фона C # / Winforms, я поражен тем, что не могу найти какое-либо легко настраиваемое свойство метки, такое как Form.AutoSize это автоматически изменит размер ярлыков в соответствии с их текстом. Я пытался возиться с sizePolicy, scaledContentsи еще несколько свойств, но, похоже, ни одно из них не делает этого.

Я сталкивался с различными темами (такими как этот), которые дают инструкции для масштабирования текста до метки, но я хочу сделать наоборот — масштабировать этикетка к текст чтобы облегчить для тех с увеличенными настройками текста, как мой коллега. Есть ли простой способ сделать это?

0

Решение

Существует как минимум три решения этой проблемы.

  1. Используйте макеты. Их содержимое масштабируется в соответствии с размером окна.

  2. Создайте код, который выполняется всякий раз, когда изменяется размер окна. В этом коде вы получите ширину самого длинного текста в окне (Как?) (по-другому), а затем установить окно шире, чем это.

  3. Сделайте то же самое, что и в решении № 2, но выполняйте код только тогда, когда отображается диалоговое окно. После этого измените свойства окна, чтобы его размер не мог быть изменен.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]