微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

wxPython - 框架大部分显示在屏幕外,self.Center() 不起作用 - 与系统显示设置有关?

如何解决wxPython - 框架大部分显示在屏幕外,self.Center() 不起作用 - 与系统显示设置有关?

*注意:我已经确定这个问题与我的显示设置有关。当我在我的笔记本电脑上运行我的代码时(win.10 显示设置:res. = 1920x1080,scale = 150%),问题出现了。当我在工作时,将笔记本电脑连接到更大的外接显示器(w10 显示设置:分辨率 1920x1080,比例 = 100%),一切都很好。有没有办法创建这个框架,无论用户显示设置如何,它都会正确显示?我怀疑我的许多用户都会遇到这个问题——我们都使用相同型号的笔记本电脑和类似的外接显示器,我上面提到的显示设置是各个显示器的 W10 认(/“推荐”)显示设置。

我有一个程序运行良好,直到最后一帧。在以前的版本中,最后一帧显示正常。然后,当我将绘图画布添加到框架中时,现在需要它更宽,我花了很长时间让框架调整自身大小以适应绘图 - Layout() 不起作用,{{ 1}} 不起作用.. 所以我只是硬编码了大小。

现在我的问题是,当框架显示时(仅 SetSizerAndFit(sizer),它出现在屏幕左上半部分的大部分区域(见下图)。这是问题模型的代码。实际上这个显示很大 - 仍然位于屏幕边界之外,但现在也向各个方向延伸超过屏幕。检查工具仍然显示它只有 1290x945(我使用的是具有 1920x1080 屏幕的笔记本电脑)但这显然不对。无论如何,该框架仍与我的程序中的真实框架位于同一位置(屏幕外)。

我做错了什么?

复制/粘贴我在回复评论时遗漏的重要部分:忘记提及使用 resframe = ResultsFrame(None); resframe.Show() 以及仅将 pos 排除在 pos = wx.DefaultPosition 之外的行为是相同的;我也无法拖动窗口,因为整个顶部栏都在屏幕外。主要问题不是大小,而是位置。我编写的虚拟脚本(无论出于何种原因)在屏幕上看起来很大(尽管在检查工具中显示了正确的大小),但在我正在编写的实际应用程序中,框架大小正确,只是位于屏幕外。在虚拟脚本中看到的尺寸问题很奇怪(inspectionTool 中的尺寸都返回 1920x945 但框架看起来远大于屏幕尺寸,尽管是 1920x1080),但在我的实际程序中没有发生,所以我更关心的是定位。

__init__

Frame appearing offscreen,with inspector for details

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。