【问题标题】:Issue setting Kivy to fullscreen问题将 Kivy 设置为全屏
【发布时间】:2014-03-20 10:00:15
【问题描述】:

我正在尝试编写一个全屏运行 kivy 的应用程序。但这些是我的问题:

1) 当我运行命令时:

#Config.set('graphics', 'fullscreen', 1)

然后 kivy 似乎全时运行,但窗口的背景图像周围有很多黑色空间。即使我拉长了图像,kivy 也只是在显示时剪切了图像。

2) 当我运行此命令将窗口大小设置为我的屏幕大小时:

Config.set('graphics', 'width', '1366')
Config.set('graphics', 'height', '768')

这种方式实际上给了我比全屏更好的结果,但是 kivy 返回的高度参数仅为 715 而不是 768,这是我告诉 kivy 使用的值(如您所见在上面的 Config.set() 函数中)。

我的屏幕分辨率是 1366x768

如何解决这个问题并让我的 kivy 应用真正全屏显示?

非常感谢

【问题讨论】:

  • 您的问题解决了吗?
  • 没有。我停止了该项目的工作

标签: python kivy fullscreen resolution


【解决方案1】:

遇到了类似的问题。使用“自动”选项为我摆脱了乐队。

Window.fullscreen = 'auto'

引用 Kivy 配置对象文档:“如果设置为自动,将使用您当前的显示器分辨率。这很可能是您想要的。

【讨论】:

  • 这会将笔记本电脑的分辨率更改为应用程序的分辨率,我希望应用程序扩展到笔记本电脑的分辨率:(
  • 'auto' 的问题在于,在某些平台上它显然无法检测到正确的屏幕尺寸,因此您还必须像 Joao 一样通过 Window.size = (w, h) 手动设置它尽管您选择了“自动”,但保罗在其中一个答案中提到了。因此,当 'auto' 无法检测到正确的尺寸时,事实证明它只是 True 的一个奇特替代品,具有相同的效果。我不确定它是平台还是窗口提供程序,但无论如何我从现在开始手动设置大小以避免将来出现问题。
【解决方案2】:

试试

from kivy.core.window import Window
Window.fullscreen = True

App.run() 方法之前执行此操作,它应该切换到全屏模式。

干杯

【讨论】:

  • 至少对我来说,这并不能解决边缘的黑色问题。它与 Config.set 方法完全相同。
  • 这个答案解决了这个问题,我没有得到任何“黑色”空格
  • 只是一个问题,这也适用于全屏安卓应用吗?
  • 我删除了您的句号,因为它可以工作,但请随时将其放回原处。谢谢,这真的很有用
  • 这可能是 b/c 我正在运行 linux,但是当我这样做时,我的屏幕开始吓坏了 - 每半秒在黑屏和背景之间切换一次。
【解决方案3】:

我设法做到了如下:

from kivy.core.window import Window
Window.maximize()

【讨论】:

  • 这是最简单最有效的解决方案。其他解决方案要么不起作用,要么在我原本速度很快的游戏 PC(Windows 10 屏幕为 3440x1440p)上非常慢
  • @KavyajeetBora 你知道吗...? a) 只能有一个接受标记(绿色勾号) b) 意思不是指质量,甚至不是客观标准的“最佳” c) 它是问题作者的唯一决定,无论对他们有什么帮助 d) 问题作者决定stackoverflow.com/help/someone-answers
  • 此解决方案在最大化窗口方面效果很好,但是当应用程序最小化并且用户尝试再次打开应用程序时,应用程序不会显示。有什么解决方法吗?
【解决方案4】:

我只是想补充一下:

from kivy.core.window import Window
Window.size = (1366, 768)
Window.fullscreen = True

【讨论】:

    【解决方案5】:

    这对我有用:

    Config.set('graphics', 'fullscreen', 'auto')
    

    【讨论】:

      【解决方案6】:

      最近为那些仍在努力弄清楚如何拥有真正的全屏的人提供答案。通过在全屏通话后添加Config.set('graphics','window_state'_'maximized',我设法摆脱了那些黑条。整个代码看起来像

      from kivy.config import Config
      
      # ...
      
      if __name__ == "__main__":
      
          Config.set('graphics', 'fullscreen', 'auto')
          Config.set('graphics', 'window_state', 'maximized')
          Config.write()
          YourApp().run()
      

      【讨论】:

      • 配置位于from kivy.config import Config
      【解决方案7】:

      无论您的决议是什么,这都会起作用。

      from kivy.core.window import Window
      Window.fullscreen = True
      Window.maximize()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-13
        • 2012-11-02
        相关资源
        最近更新 更多