0

我正在 wx.Python 中制作一个设置为全屏的程序,但我有一个关于屏幕分辨率的未解决问题。

我知道如何检测窗口的大小,并按比例设置项目的位置。我的程序目前正在这样做。

但是,无论显示分辨率如何,是否可以强制全屏以我选择的固定分辨率显示?(如果是这样,我可以制作一个宽屏和一个全屏布局来覆盖所有人。)

我一直在寻找解决方案,但找不到线索!也许在 wx.Python 中根本不可能。但如果没有,谁能指出我正确的方向?

感谢您的时间!

4

2 回答 2

1

我认为你的提议是不可能的。如果显示器的分辨率设置为 1900x1600,并且您将应用设置为以 800x600 运行,则应用将不会全屏显示。您不能全屏并且低于显示器的分辨率。而且我认为,如果您希望您的应用程序可用,您的应用程序不能大于显示器的最大分辨率。

你可以设置框架的大小吗?当然可以。当您实例化框架时,您会这样做。能不能全屏?是的。框架对象有一个名为 ShowFullScreen() 的方法就是为了这个目的。您也可以使用样式标志对其进行一些修改。另请参阅http://wiki.wxpython.org/Using%20Frame.ShowFullScreen

于 2012-04-27T20:30:23.120 回答
0

实际上,您可以强制使用特定的视频模式/分辨率。根据您的显示器/驱动程序,结果(在 LCD 屏幕上)可能会放大以填充显示器或显示在屏幕的子矩形中(例如信箱)。但是,这实际上可能不是您想要的,除非您需要特定的输出分辨率——例如,用于视频捕获或输出到特定设备。执行此操作的 wxPython 代码类似于:

display = wx.Display(0)  # if you have multiple monitors, use its index
desired_mode = wx.VideoMode(width, height, color_depth)
supported_modes = display.GetModels(desired_mode)
if len(supported_modes) > 0:
    display.ChangeMode(supported_modes[0]) # just use the first match for now
于 2012-05-18T22:16:24.357 回答