我开始使用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
的大小也不会改变任何内容。
如何创建一个与按钮大小相同的窗口? 它应该是一个足够简单的任务,但是看一下文档和示例我找不到任何关于它的内容。
答案 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
并对其进行编辑。