如何修复 Windows 上 WxPython 控件中的模糊文本?

mhu*_*cka 2 windows wxpython dpi python-3.x

我们有一个使用 WxPython 4 编写的基于 Python 的应用程序,我们为多个操作系统(包括 Windows)构建了该应用程序。在 Windows 10 中,至少在我的环境中(在高分辨率显示器上的 VM 内),界面中的文本元素是模糊的:

在此处输入图片说明

我可以通过在应用程序上设置 Windows DPI 缩放覆盖来稍微改善这种情况。这是间接的和次优的,似乎应该有一种方法可以更直接地从 WxPython 中做到这一点。但是,我还没有找到一种方法来做到这一点。

有什么方法可以从 WxPython 设置 DPI 缩放比例,或者直接从应用程序中修复 WxPython 4 中 Windows 上的模糊文本?

Nai*_*eng 13

根据来自 Python Issue Tracker 的消息以及我在wxPython 官方 Hello World, Part 2 示例( helloworld2.py )中尝试,将以下代码添加到您的程序中应该可以工作:

import ctypes
try:
    ctypes.windll.shcore.SetProcessDpiAwareness(True)
except:
    pass
Run Code Online (Sandbox Code Playgroud)