如何用绝对坐标定位Kivy Popup?

时间:2016-01-19 00:06:35

标签: python popup kivy

如何禁用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不能为空,不能是元组,或者根本没有效果(弹出窗口始终垂直和水平居中) 。另请注意,自定义大小 可以正常工作。

2 个答案:

答案 0 :(得分: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),

                  )

这里唯一的问题是你必须在重新调整大小的事件上更新pos_hint

答案 1 :(得分:0)

pos_hint应该是一个词典,而不是一个元组,所以pos_hint={}pos_hint=None可能会起作用(但我不确定是哪个)。