【发布时间】:2020-11-30 16:20:53
【问题描述】:
我有以下带有示例窗口大小的代码。我希望所有小部件都进入一个名为inlay 的BoxLayout,而不是划分窗口的百分比。但是,无论我将提示放在哪里或如何附加小部件,提示仍然适用于整个窗口。
如代码所示,对于 (500, 600) 的窗口,嵌体的尺寸应仅为 (480, 600),即最接近的 8 x 10 尺寸。但是,提示是针对 (500, 600) 大小呈现的:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
Window.size = (500, 600)
class SCApp(App):
def build(self):
# Define the (relative) 8 x 10 inlay for the board.
for n in range(8, Window.width, 8):
if n * 1.25 <= Window.height:
inlay_dims = (n, int(n * 1.25))
print(inlay_dims)
else:
break
inlay = BoxLayout(orientation="vertical")
inlay.size = inlay_dims
top_portion = BoxLayout(orientation="horizontal")
inlay.add_widget(top_portion)
top_portion.size_hint = (1, 0.1)
top_portion.add_widget(widget=Button())
mid_portion = BoxLayout(orientation="horizontal")
inlay.add_widget(mid_portion)
mid_portion.size_hint = (1, 0.8)
btm_portion = BoxLayout(orientation="horizontal")
inlay.add_widget(btm_portion)
btm_portion.size_hint = (1, 0.1)
top_portion.add_widget(widget=Button())
return inlay
SCApp().run()
如何使_portion 布局的大小提示评估为inlay 给定的大小?
【问题讨论】: