Я разрабатываю приложение Qt, и в настоящее время оно проходит внутреннее бета-тестирование. Один из сотрудников компании настроил Windows на отображение текста больше обычного размера, что нарушает мой пользовательский интерфейс. Например, страница About в настоящее время выглядит следующим образом:
но в его настройках выглядит так (обратите внимание на вырезанный текст):
Исходя из фона C # / Winforms, я поражен тем, что не могу найти какое-либо легко настраиваемое свойство метки, такое как Form.AutoSize это автоматически изменит размер ярлыков в соответствии с их текстом. Я пытался возиться с sizePolicy
, scaledContents
и еще несколько свойств, но, похоже, ни одно из них не делает этого.
Я сталкивался с различными темами (такими как этот), которые дают инструкции для масштабирования текста до метки, но я хочу сделать наоборот — масштабировать этикетка к текст чтобы облегчить для тех с увеличенными настройками текста, как мой коллега. Есть ли простой способ сделать это?
Существует как минимум три решения этой проблемы.
Используйте макеты. Их содержимое масштабируется в соответствии с размером окна.
Создайте код, который выполняется всякий раз, когда изменяется размер окна. В этом коде вы получите ширину самого длинного текста в окне (Как?) (по-другому), а затем установить окно шире, чем это.
Сделайте то же самое, что и в решении № 2, но выполняйте код только тогда, когда отображается диалоговое окно. После этого измените свойства окна, чтобы его размер не мог быть изменен.
Других решений пока нет …