【问题标题】:Forcing a Set Resolution in wx.Python in Full Screen在全屏模式下强制设置 wx.Python 中的分辨率
【发布时间】:2012-04-27 18:50:47
【问题描述】:

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

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

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

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

感谢您的宝贵时间!

【问题讨论】:

  • 您确定要这样做吗?如此多的设备正在使用液晶显示器,当它们不以硬连线分辨率运行时,它们看起来很糟糕。
  • 哦。那很有意思。好吧,如果是这样的话,那么也许我根本不想这样做,并且会保持我的检测分辨率和按比例排列的计划。
  • 哦!你其实是个勤奋的学生!

标签: python wxpython


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    实际上,您可以强制使用特定的视频模式/分辨率。根据您的显示器/驱动程序,结果(在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多