繁体   English   中英

Kivy:如何改变窗口大小?

[英]Kivy: How to change window size?

我开始使用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的大小也不会改变任何东西。

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

目前有两种方式:

  • 在创建窗口之前:

     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)

用这个:

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()

这将导致默认屏幕尺寸丢失! 默认屏幕尺寸非常有用。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM