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

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

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

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

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

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

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

  • 32-разрядные ограничения памяти Python на 64-битных окнах
  • Ключевое эхо в Python в отдельном потоке не отображает первый ход ключа
  • pip install с ошибкой соединения: сертификат не выполнен (_ssl.c: 598) "
  • Усеченный вывод с использованием Python bottle 0.12.8 в качестве приложения CGI под Windows на сервере Apache
  • Почему нерелевантный код сделал разницу?
  • Использование pip для установки модулей в python с ошибкой
  • охват замороженного исполняемого файла
  • Невозможно открыть virtualenv на WIndows
  •  
    Interesting Posts for Van-Lav

    Ошибка установки psycopg2 – Библиотека не загружена: libssl.dylib

    Как прочитать файл CSV с разделителем '\ x01' и создать словарь в python

    Показывать легенду и оси меток на графических 3D-диаграммах

    Обработка изображений OpenCV – C ++ vs C vs Python

    разделить генератор / итерируемый каждый n элементов в python (splitEvery)

    Как использовать SimpleHTTPServer?

    «ProgrammingError: column« genre_id »отношения« music_album »не существует», в то время как столбец существует

    TypeError: индексы индексов должны быть целыми, а не str Python

    управляя зависимостями импорта python в плагине SublimeText2. в частности, unicodedata lib

    Производительность OrderedDict (по сравнению с deque)

    pydev importerror: нет модуля с именем thread, отладка больше не работает после обновления pydev

    list.reverse не возвращает список?

    Как изменить формат даты и времени в пандах

    Полная интеграция Android-андроида

    Результат поиска сельдерея. Объект DisabledBackend не имеет атрибута _get_task_meta_for

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