python - size_hint_max_x 没有设置宽度的最大限制
问题描述
我正在参加关于使用Kivy
和编写移动应用程序的 Udemy 课程Python
。课程进入设置size_hint
和size_hint_max
(或具体来说,size_hint_x
和 s ize_hint_max_x
)。我不明白size_hint_max_x
。本课唯一解释的是,当您设置size_hint_max_x
为时None
,小部件会占据整个宽度(它没有解释原因)。它还引导我查看官方文档,该文档定义size_hint_max_x
为:
当 notNone
时,x 方向的最大尺寸(以像素为单位,如宽度)size_hint_x is
也不是 None。
类似于size_hint_min_x
,除了它设置最大宽度。
听起来我可以设置沿 x 轴的按钮大小的最大限制。不是这样。
这是我的代码:
from kivy.lang import Builder
from kivy.base import runTouchApp
runTouchApp(Builder.load_string("""
FloatLayout:
Button:
text: 'B1'
size_hint_x: .5
size_hint_x_max: .3
"""))
这会产生:
按钮仍然是窗口的 50%,即使size_hint_max_x
是 30%。我希望按钮为 30%。
文档中的定义说size_hint_max_x
是以像素为单位的,所以我尝试了这个:
FloatLayout:
Button:
text: 'B1'
size_hint_x: .5
size_hint_x_max: 100
"""))
但这似乎也不起作用。按钮仍然是超过 100 像素的窗口的 50%。如果我尝试设置size_hint_x to
200,我会得到相同的结果(不遵守 max x 的 100 像素限制)。
size_hint_x_max
如果它不对小部件强制执行最大尺寸有什么好处?
解决方案
正如您所说,size_hint_max_x
以像素为单位,它用于在使用size_hint
.
我在您的代码中看到的唯一问题是您在以下位置更改了顺序:size_hint_x_max:
。什么时候应该size_hint_max_x:
推荐阅读
- c# - 排序 WPF 数据网格正在使用 IsAsync 绑定挂起整个 GUI
- excel - Excel Table Slicer - 不同的行数
- dos - 需要查找 ms-dos 应用程序的命令解决方案吗?
- c# - 希伯来语字符在 iText 7 中以相反的顺序打印
- css - 如何使用 d-flex 在项目之间留出空间
- python - 如何在matplotlib中叠加两个热图?
- python - 在用户位于单独模型中的 Django Rest Framework 中针对当前用户过滤查询集
- javascript - 我是 nodejs 的新手,我收到参考错误:io is not defined ,我想不通
- php - 如何从关系表中获取 ID,Laravel
- python - 如何在显示主窗口之前退出 Qt 应用程序