如何获得具有不同DPI和分辨率的小部件大小?

2024-05-16 09:02:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我用wxPython写了一个程序。我们在许多具有不同显示配置的不同计算机上运行该程序。 例如,一种是分辨率为3000x2000、DPI值(Windows 10)为175%的MS曲面

我的代码在全高清,DPI 100%显示-GUI看起来不错!特别是从表面上看,我有一个问题,即TextCtrl、BitmapButtons和图像通常会改变它们的大小(它们变得更小),GUI也会变得一团糟

我试图通过在我的主课中设置我的过程的DPI意识来防止它。但也许我做错了什么,或者还有很多事情要处理

以下是我用来设置DPI感知的代码:

import ctypes

# Query DPI Awareness (Windows 10 and 8)
awareness = ctypes.c_int()
errorCode = ctypes.windll.shcore.GetProcessDpiAwareness(0, ctypes.byref(awareness))

# Set DPI Awareness  (Windows 10 and 8)
errorCode = ctypes.windll.shcore.SetProcessDpiAwareness(2)

问题:

我需要做什么才能使我的GUI在所有DPI和分辨率设置上看起来至少相似


Tags: and代码程序windows计算机wxpython分辨率gui