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

时间:2018-05-05 23:50:17

标签: python python-3.x python-2.7 tkinter ide

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

我知道在Windows中有一个选项可以切换“覆盖高DPI缩放行为”。问题是此选项卡仅适用于“.exe”等应用程序。 Windows是一个奇怪的野兽。

默认情况下,python ide的字体大小为9-10。高分辨率显示屏上的字体只能通过胜利10来缩放

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

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

它可能与1920 * 1080以上分辨率更高的显示器不兼容,但它有效:D

2 个答案:

答案 0 :(得分:0)

我使用ctypes手动切换“DpiAwareness”,然后根据我的喜好调整字体。并且不要忘记“来自ctypes import 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)

答案 1 :(得分:0)

我正在使用Pycharm Community Edition。在Distraction Free模式下,感觉很像闲置,但在4k显示器上有可读菜单。它还有一个python控制台,所以它似乎真的可以做空闲时可以做的一切。