Kivy:如何改变窗口大小?

Bak*_*riu 31 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()
Run Code Online (Sandbox Code Playgroud)

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

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

mar*_*tin 71

目前有两种方式:


Aar*_*ell 7

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

from kivy.config import Config
Config.set('graphics', 'width', '200')
Config.set('graphics', 'height', '200')
Config.write()
Run Code Online (Sandbox Code Playgroud)

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

  • Config.write() 使更改永久化。然后它们将用作默认值。 (2认同)

Sag*_*Sri 7

用这个:

from kivy.core.window import Window
Window.size = (300, 100)
Run Code Online (Sandbox Code Playgroud)

如果您使用

from kivy.config import Config
Config.set('graphics', 'width', '200')
Config.set('graphics', 'height', '200')
Config.write()
Run Code Online (Sandbox Code Playgroud)

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