WX Python 2,8 до WX Python 4 - разница в размере по умолчанию - PullRequest
0 голосов
/ 03 апреля 2020

Я все еще пытаюсь перенести старое приложение с wx2.8 на wx4.

После нескольких различных настроек стилей я получил очень похожее приложение в обычных условиях (мы хотим поддерживать wx28 и wx4 до мы закончили, но нам нужно только изменить импорт).

Мы также должны поддерживать масштабирование 125% windows GUI. И с этими настройками компоненты с «defaultSize» (то есть (-1, -1)) действительно получают очень разные масштабирования между двумя версиями, особенно в направлениях y.

К сожалению, это разрушает наш макет ( к сожалению, дикое сочетание между компонентами фиксированного размера и размера по умолчанию).

Есть ли способ установить поведение для различных масштабирований окна? Я знаю, что можно получить масштабирование, проверив ScreenD C .GetPPI, но я не решаюсь менять каждый компонент отдельно и предпочел бы какую-то глобальную настройку.

Итак, есть ли способ изменить поведение defaultSize глобально? Или есть хоть какая-то справка о том, что изменилось, чтобы я ничего не пропустил?

1 Ответ

0 голосов
/ 23 апреля 2020

Обычно лучше всего всегда использовать размеры для макета, а когда вам нужно указать конкретные c значения для размера и положения, тогда используйте значения, основанные на размерах шрифта. Чтобы помочь с этим, есть методы wx.Window.GetCharWidth и GetCharHeight.

Существует также понятие «Диалоговые единицы», где каждая единица представляет собой долю от среднего размера символов. См wx.Window методы ConvertDialogToPixels и ConvertPixelsToDialog.

...