如何使python IDE在高dpi显示器上工作而不会模糊



今天我遇到了一个奇怪的问题,Python ide 无法在我的 1920*1080 屏幕上正确缩放字体。所以我修复了它。有点

我知道窗口中有一个选项,可以在其中切换"覆盖高DPI缩放行为"。问题是此选项卡仅适用于应用程序,例如".exe"。窗户是一种奇怪的野兽。

默认情况下,python ide 的字体大小为 9-10。高分辨率显示器上的字体只是通过win 10缩放

我的解决方案是手动启用 DPI 感知,然后在名为 run.py 的类中设置正确的字体大小

由于这不是一个真正的问题,我将发布代码并将其标记为已回答

它可能与分辨率高于1920 * 1080的显示器不兼容,但嘿,它可以:D

我使用ctypes手动切换"DpiAwareness",然后根据我的喜好调整字体。并且不要忘记"从ctypes进口windll">

def fix_scaling(root):
"""Scale fonts on HiDPI displays.(Windows 10 only)"""
import tkinter.font
scaling = float(root.tk.call('tk', 'scaling'))
windll.shcore.SetProcessDpiAwareness(1)
if scaling < 15:
for name in tkinter.font.names(root):
font = tkinter.font.Font(root=root, name=name, exists=True)
size = int(font['size'])
if size > 0:
font['size'] = round(1.50*size)

我正在使用Pycharm社区版。 在无干扰模式下,感觉很像空闲,但在 4k 显示器上具有可读的菜单。 它还有一个python控制台,所以它似乎真的可以做所有闲置的事情。

最新更新