wxPython 2.8 到 wxPython 4 – 默认大小差异

我还在尝试将一个旧的应用从wx2.8迁移到wx4。

经过几次不同的风格调整,我得到了一个在正常情况下非常相似的应用程序(我们希望在完成之前支持wx28和wx4,但目前我们只需要改变导入)。

不过我们还必须支持125%的windows GUI缩放。有了这些设置,带有 “defaultSize”(即(-1,-1) )的组件在两个版本之间确实会得到非常不同的缩放,尤其是在y方向。

不幸的是,这破坏了我们的布局(很遗憾,固定尺寸和默认尺寸组件之间的疯狂混合)。

有什么方法可以设置不同窗口缩放的行为吗?我知道可以通过检查ScreenDC.GetPPI来获得缩放比例,但我不愿意单独改变每个组件,而是希望有某种全局设置。

那么,有没有一种方法可以全局地改变默认大小的行为?或者至少有一些关于改变了什么的参考资料,所以我不会错过任何东西?

解决方案:

通常最好的做法是始终使用sizer进行布局,当你确实需要为大小和位置指定特定的值时,则使用基于字体大小的值。为了帮助解决这个问题,有 wx.Window.GetCharWidthGetCharHeight 方法。

还有 “对话单元 “的概念,每个单元是平均字符大小的一小部分。参见 wx.Window 方法 ConvertDialogToPixelsConvertPixelsToDialog.

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/4546.html

(0)
上一篇 2022年6月29日 下午4:45
下一篇 2022年6月29日 下午4:45

相关推荐

发表评论

登录后才能评论