我试图写一个函数,触发弹出窗口,有一个消息和一个关闭按钮在屏幕上,但我似乎不能得到文本包装正确。当前文本保持在100 x 100框内(默认大小)。但是,这个按钮的伸缩性很好,所以我不知道我做错了什么。做self.text\u大小= 自身尺寸在kv语言中似乎可以正常工作,但在普通Python中却不行?你知道吗
def default_popup(text: str, title: str = 'Warning') -> None:
err_box = BoxLayout(orientation = 'vertical')
err_txt = Label(text = text, font_size = 15)
err_txt.text_size = err_txt.size
err_box.add_widget(err_txt)
close_button = Button(text = "Close")
err_box.add_widget(close_button)
err = Popup(title = title, content = err_box, size_hint = (0.6, 0.4))
close_button.bind(on_release = err.dismiss)
err.open()
您可以使用
CoreLabel
来计算所需的大小。比如:只需确保
CoreLabel
的属性与Label
的属性相同。你知道吗你可以用
label.texture_size
来做。在使用texture_size
之前,只需调用label.texture_update()
。你知道吗我会根据间距、填充、文本等计算弹出窗口的大小:
希望你能用它来达到你的目的。你知道吗
相关问题 更多 >
编程相关推荐