本文介紹了如何在 Kivy 文本輸入中水平居中文本?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我想在 Kivy 文本輸入中將單行文本居中.我將使用填充
I want to center a single line of text in Kivy text input. I'm going to use padding
widget.padding = [ (self.textinput.width - width of line) / 2, 20, 0, 0]
但我找不到線的寬度.如何計(jì)算或訪問線的寬度?
but i can't find the width of the line. How can I calculate or access the width of the line?
推薦答案
有一個內(nèi)部 TextInput._get_text_width
方法可以用來計(jì)算正確的填充:
There is an internal TextInput._get_text_width
method you can use to calculate proper padding:
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()
這篇關(guān)于如何在 Kivy 文本輸入中水平居中文本?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!