【问题标题】:Config Set min and max value for window size KivyConfig 设置窗口大小 Kivy 的最小值和最大值
【发布时间】:2019-07-09 08:35:31
【问题描述】:

有没有办法为 kivy 窗口配置.set 最小尺寸和最大尺寸。例如以下代码允许在执行时设置默认值并使其不可调整大小:

Config.set('graphics','width',500)
Config.set('graphics','height',400)
Config.set('graphics', 'resizable', False)

我正在寻找的是使其可调整大小但有大小限制。我试图在 API 上搜索它,但我找不到它。

【问题讨论】:

    标签: python python-3.x kivy


    【解决方案1】:

    要设置窗口的最小尺寸,请使用以下代码:

    from kivy.core.window import Window
    
    Window.size = (500, 400)
    Window.minimum_width, Window.minimum_height = Window.size
    

    【讨论】:

      【解决方案2】:

      您可以通过重写do_layout 函数来检查大小变化。
      此示例检查大小是否大于 500、400。

      from kivy.core.window import Window
      
      class MyLayout(StackLayout):
          def __init__(self, **kwargs):
              super(MyLayout, self).__init__(**kwargs)
      
          def do_layout(self, *args, **kwargs):
              super(MyLayout, self).do_layout()
              width, height = Window.size
              if width > 500:
                  Window.size = 500, Window.size[1]
              if height > 400:
                  Window.size = Window.size[0], 400
      

      【讨论】:

      • 这个答案很有用,但实际上调整大小看起来太有问题了,因为它会在调整大小后调整大小。有没有办法阻止调整大小?
      【解决方案3】:

      在任何其他 kivy 导入之前,设置默认的 kivy 图形值。大多数情况下,理想的位置是在main.py

      from kivy import Config
      Config.set('graphics', 'width', '1200')
      Config.set('graphics', 'height', '800')
      Config.set('graphics', 'minimum_width', '800')
      Config.set('graphics', 'minimum_height', '600')
      
      import kivy
      # ...
      

      检查API 是否有其他变量。

      【讨论】:

      • Config.set 应该在导入任何其他 Kivy 模块之前使用。理想情况下,这意味着在 main.py 脚本的开头设置它们
      猜你喜欢
      • 2013-10-05
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2013-09-09
      • 2017-04-03
      • 2022-11-28
      相关资源
      最近更新 更多