Config 设置窗口大小 Kivy 的最小值和最大值
Posted
技术标签:
【中文标题】Config 设置窗口大小 Kivy 的最小值和最大值【英文标题】:Config Set min and max value for window size 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 上搜索它,但我找不到它。
【问题讨论】:
【参考方案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 脚本的开头设置它们以上是关于Config 设置窗口大小 Kivy 的最小值和最大值的主要内容,如果未能解决你的问题,请参考以下文章
2021-12-26:给定一个长度为n的数组arr,求有多少个子数组满足 : 子数组两端的值,是这个子数组的最小值和次小值,最小值和次小值谁在最左和最右无所谓。 n<=100000(10^5) n*(