【问题标题】:Kivy: How to change window size?Kivy:如何更改窗口大小?
【发布时间】:2012-12-10 11:57:58
【问题描述】:

我开始使用kivy 编写程序,但我在理解它如何处理大小方面存在一些问题。

例如:

import kivy
kivy.require('1.5.1')

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self): return Button(text='Some text')

MyApp().run()

上面的程序可以工作,但是它创建了一个巨大的窗口。尝试设置 size=(100, 100) 不会改变任何东西。设置size_hint=(None, None) 将显示一个大小正确的按钮,但它会随机放置在一个仍然巨大的窗口内。 尝试设置MyApp 的大小也不会改变任何东西。

如何创建一个与按钮大小相同的窗口? 这应该是一个足够简单的任务,但是查看文档和示例我找不到任何关于此的内容。

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    目前有两种方式:

    • 在创建窗口之前:

      import kivy
      kivy.require('1.9.0')
      
      from kivy.config import Config
      Config.set('graphics', 'width', '200')
      Config.set('graphics', 'height', '200')
      
    • 在窗口创建后动态:

      from kivy.core.window import Window
      Window.size = (300, 100)
      

    【讨论】:

    • 这很好用,我遇到了同样的问题,找不到任何可以帮助我的东西,幸运的是我找到了这个......非常感谢 Martin
    • 有没有办法让窗口适合整个屏幕?无论分辨率如何?
    • @Yair 你的意思是全屏或窗口但屏幕大小?
    • 抱歉,我看不出有什么区别。我想我的意思是全屏。
    • 好的,现在我可以看到区别了。我实际上是指窗口大小。正在查看kivy.org/docs/api-kivy.core.window.html,但找不到正确的命令
    【解决方案2】:

    使用这个:

    from kivy.core.window import Window
    Window.size = (300, 100)
    

    如果你使用

    from kivy.config import Config
    Config.set('graphics', 'width', '200')
    Config.set('graphics', 'height', '200')
    Config.write()
    

    这将导致默认屏幕尺寸丢失! 默认屏幕尺寸真的很有用。

    【讨论】:

      【解决方案3】:

      我会评论马丁的回答,但我没有声誉。设置配置文件时,请务必“写入”您的更改:

      from kivy.config import Config
      Config.set('graphics', 'width', '200')
      Config.set('graphics', 'height', '200')
      Config.write()
      

      这就像将信息提交到数据库一样,如果您对此有所了解的话。

      【讨论】:

      • Config.write() 使更改永久化。然后它们将被用作默认值。
      【解决方案4】:

      使用Config.write() 会将您的更改设置为默认设置。如果您不小心运行此命令并想要恢复更改,您可以使用默认值再次运行 Config.write()(因此恢复您的更改),或者您可以使用文本编辑器打开 $HOME/.kivy/config.ini 并进行编辑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-19
        • 2017-07-02
        相关资源
        最近更新 更多