#python #windows #tkinter
Вопрос:
Есть ли способ изменить коэффициент масштабирования Windows с помощью python? Мои приложения Tkinter рассчитаны на 1920×1280 и Масштабный коэффициент 100%, но некоторые из моих клиентов используют мои приложения на планшете с масштабным коэффициентом 150%, и мои окна Tkinter слишком велики в этой среде.
Я думаю, что самый простой способ сделать мои приложения пригодными для использования на этих устройствах-вручную установить коэффициент масштабирования на 100%, прежде чем я начну перепроектировать весь свой графический интерфейс.
Комментарии:
1. Вы можете поместить все свои виджеты на холст, а затем увеличить или уменьшить масштаб этого холста. Для определения коэффициента масштабирования можно использовать
<any widget>.winfo_screenheight()
и.<any widget>.winfo_screenwidth()
2. У меня есть все мои виджеты в одном мейнфрейме. Вы имеете в виду, что я должен поместить этот мэйнфрейм в холст и масштабировать его методом масштабирования холста? Я пытался это сделать, но это не сработало
Ответ №1:
Если вы хотите, чтобы окно соответствовало размеру устройства, используйте следующее:
window.state("zoomed")
Это максимизирует ваше окно.
Если вы хотите просто получить ширину экрана и высоту экрана устройства, используйте:
width = window.winfo_screenwidth()
height = window.winfo_screenheight()
Затем вы можете использовать их для настройки геометрии окна:
window.geometry("%dx%d" % (width, height))
Комментарии:
1. Да, это изменяет размер окна. Но размеры и расположение шрифтов и все остальное остается прежним.
from pywinauto import Desktop
изменяет размер всего интерфейса… Работает как заклинание2. О, я думал, вы хотели изменить только разрешение окна. Хотя спасибо , что познакомил меня с
from pywinauto import Desktop
этим! Я никогда не слышал об этом раньше
Ответ №2:
Я обнаружил это, когда добавил
from pywinauto import Desktop
в верхней части моего исходного кода пользовательский интерфейс автоматически масштабируется.