如何用绝对坐标定位 Kivy Popup?
Posted
技术标签:
【中文标题】如何用绝对坐标定位 Kivy Popup?【英文标题】:How to position Kivy Popup with absolute coordinate? 【发布时间】:2016-04-24 07:28:05 【问题描述】:如何禁用 Kivy Popup 对象的相对位置?例如,对于这个例子,你如何定义绝对的pos
?:
from kivy.uix.popup import Popup
from kivy.uix.label import Label
popup = Popup(title='Test popup', content=Label(text='Hello world'),
size_hint=(None, None),
#pos_hint=None, pos_hint=(None, None), pos_hint=,
size=(200,200), pos=(10, 10))
popup.open()
注意,如果 pos_hint
尝试未注释,它会失败,因为 pos_hint
不能为空,不能是元组,或者根本没有效果(弹出窗口始终垂直和水平居中)。另请注意,自定义尺寸确实有效。
【问题讨论】:
【参考方案1】:既然 pos_hint 效果很好,你总是可以这样做:(“10.0”是绝对坐标)
popup = Popup(title='Test popup', content=Label(text='Hello world'),
size_hint=(None, None),
pos_hint='x': 10.0 / Window.width,
'y':10.0 / Window.height,
size=(200,200), #pos=(10, 10),
)
这里唯一的问题是你必须在 re-size 事件上更新 pos_hint
【讨论】:
谢谢 - 这当然是一个很好的解决方法。事实上,如果没有办法显式设置绝对位置,我将其标记为 sol。【参考方案2】:pos_hint 应该是一个字典,而不是一个元组,所以 pos_hint=
或 pos_hint=None
可能会起作用(但我不确定哪个)。
【讨论】:
啊,我忘了添加我的其他尝试——其中一些是你推荐的。不幸的是,这些不起作用(请参阅更新的问题)。以上是关于如何用绝对坐标定位 Kivy Popup?的主要内容,如果未能解决你的问题,请参考以下文章