Почему качество Tkinter намного хуже ухудшается на окнах?

Я разработал приложение python с Tkinter на Mac. Он включает в себя формы и рисунки холста. На Mac это выглядит великолепно. Однако на моем ноутбуке Dell (дисплей 4K и более мощный, чем мой Mac) Tkinter ui выглядит очень пиксельно, а некоторые элементы расположены несколько иначе. Как эта проблема известна и что я могу сделать, чтобы сделать Tkinter лучше на Dell Windows 10 или других платформах в целом? Вот скриншот той же части пользовательского интерфейса (показывающий форму и рисунок холста) …

Окна (плохо) введите описание изображения здесь

Mac (нормальный)

введите описание изображения здесь

  • Как очистить консоль интерпретатора?
  • привязки python gstreamer для окон
  • Использование pyhook для ответа на комбинацию клавиш (а не только на одно нажатие клавиш)?
  • Ошибка ввода ключа ввода-вывода ввода-вывода
  • Вывод подпроцесса Python на окна?
  • Получить скриншот на Windows с Python?
  • Как получить как живой видеокадр, так и временную метку из ffmpeg на python в Windows
  • Как добавить к pythonpath в Windows 7?
  • 3 Solutions collect form web for “Почему качество Tkinter намного хуже ухудшается на окнах?”

    введите описание изображения здесь

    Различия в отображении одного и того же приложения обусловлены различиями в механизмах рендеринга, используемых каждой операционной системой.

    Это описано в паб-электронной книге Pakt, которая называется Tkinter GUI Application Development Blueprints

    прохождение этой темы доступно здесь .

    Это может быть больно, но похоже, что наиболее распространенным решением для этого является обнаружение вашего окружения и запись независимых стилей с использованием базы данных внешних опций, более подробная информация доступна в документации здесь .

    Сглаживание разрешено только для объекта холста Tkinter в OSX. Вы можете получить aggDraw lib: http://effbot.org/zone/tkinter-aggdraw.htm в качестве обходного пути, но в противном случае вы получите неровные линии при попытке рисовать на холсте. Однако шрифты должны быть сглажены на всех основных платформах.

    Рассмотрим разрешение MAC как 1366×768 (ожидается). Предположим, вы делаете размер окна вашего приложения как 683×384, который равен (1366/2 x 768/2).

    Когда приложение будет запущено на 4-кратном дисплее, оно отобразит размеры как 683×384 для главного окна, но его размеры на 4k будут 4k / 2.

    Итак, что вы можете сделать, напишите общую программу с переменными размерами экранов, чтобы она отрегулировала размер окна в соответствии с размером экрана.

    Для получения дополнительной информации см. https://www.tutorialspoint.com/python3/python_gui_programming.htm

    Надеюсь, это поможет.

    Python - лучший язык программирования в мире.