Kivy:如何改变窗口大小?

时间:2012-12-23 21:45:27

标签: python kivy

我开始使用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)将显示一个大小正确的按钮,但它会随机放置在 still 巨大的窗口中。 尝试设置MyApp的大小也不会改变任何内容。

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

4 个答案:

答案 0 :(得分:58)

目前有两种方式:

  • 在创建窗口之前:

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

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

答案 1 :(得分:4)

我会评论马丁的答案,但我没有声誉。设置配置文件时,请务必"写"你的改变:

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

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

答案 2 :(得分: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 :(得分:1)

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