gpt4 book ai didi

python - 如何在 Kivy 文本输入中水平居中文本?

转载 作者:太空狗 更新时间:2023-10-30 00:48:37 27 4
gpt4 key购买 nike

我想在 Kivy 文本输入中将一行文本居中。我要使用填充

widget.padding = [ (self.textinput.width - width of line) / 2, 20, 0, 0]

但是我找不到线的宽度。我如何计算或访问线的宽度? enter image description here

最佳答案

有一个内部 TextInput._get_text_width 方法可用于计算适当的填充:

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder

Builder.load_string('''

<MyWidget>:
TextInput:
multiline: False
on_text: root.update_padding(args[0])
padding_x: self.width/2 # initial padding
''')

class MyWidget(FloatLayout):
def update_padding(self, text_input, *args):
text_width = text_input._get_text_width(
text_input.text,
text_input.tab_width,
text_input._label_cached
)
text_input.padding_x = (text_input.width - text_width)/2

class MyApp(App):
def build(self):
return MyWidget()

if __name__ == '__main__':
MyApp().run()

关于python - 如何在 Kivy 文本输入中水平居中文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38421741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com