关于4k分辨率适配问题
Ga-Ray opened this issue · 3 comments
Ga-Ray commented
numlinka commented
Windows 的缩放就是一坨屎
出现这种情况的原因我猜测是:
GUI 组件沿用了系统缩放后的字体大小,但是我默认禁用了缩放比例这导致界面绘制的大小没变,所以文字显示不全;
而使用系统代替 DPI 后 GUI 组件的原始分辨率没变,所以字体和图片显得模糊。
我并未找到一个好的解决方案。
Ga-Ray commented
好吧,看起来暂时无法解决这个问题,但也还能凑活用用,感谢您的回覆!
Maritedo commented
Windows 的缩放就是一坨屎
出现这种情况的原因我猜测是: GUI 组件沿用了系统缩放后的字体大小,但是我默认禁用了缩放比例这导致界面绘制的大小没变,所以文字显示不全; 而使用系统代替 DPI 后 GUI 组件的原始分辨率没变,所以字体和图片显得模糊。
我并未找到一个好的解决方案。
我也遇到了这个问题,我的解决方案是:
diff --git a/src/window/__init__.py b/src/window/__init__.py
index d25b993..478de88 100644
--- a/src/window/__init__.py
+++ b/src/window/__init__.py
@@ -89,7 +89,8 @@ def initial():
core.log.info("初始化主窗口...", L.WINDOW)
style.theme_use(core.env.configuration.style_theme)
- style.configure("Treeview", rowheight=48)
+ _win_scaling = mainwindow.winfo_fpixels("1i") / 96
+ style.configure("Treeview", rowheight=16 + int(32 * _win_scaling))
我在 100% 缩放下使用截图软件测量得到 treeview 的高度为48px(与源代码一致),上下边距之和为16px~18px,我将边距以外的其他部分按显示缩放比进行了换算,获得的显示效果尚可,只是过程中的参数选择可能有点随意(逃