我是Kivy編程中的新手。 我想在Kivy中只輸入4行文字輸入。 我可以只使用一行或多行,但我想要一個只啓用了4行的文本字段。 總之我希望有一個文本字段,我可以直到輸入任何內容四行啓用文本中只有四行輸入Kivy
2
A
回答
3
據我所知,有沒有乾淨的方式做,在kivy。您可以嘗試使用4個獨立的TextInputs,並在用戶點擊Enter時切換焦點。以下是一個示例:
from kivy.base import runTouchApp
from kivy.lang import Builder
runTouchApp(Builder.load_string("""
BoxLayout:
orientation: "vertical"
TextInput:
multiline: False # one line only
on_text_validate: t1.focus = True # when Enter is pressed, switch focus
TextInput:
id: t1
multiline: False
on_text_validate: t2.focus = True
TextInput:
id: t2
multiline: False
on_text_validate: t3.focus = True
TextInput:
id: t3
multiline: False
"""))
2
您可以爲換行符和/或字符設置計數器並阻止任何新換行符/字符。
可以使用row
值。這可以通過TextInput的過濾功能進行管理。
編輯:
一個小例子類:
class TInput(TextInput):
def __init__(self,**kwargs):
super(TInput,self).__init__(**kwargs)
self.__lineBreak__=0
def insert_text(self, substring, from_undo=False):
if "\n" in substring and self.__lineBreak__ <= 4:
self.__lineBreak__ += 1
self.__s__ = substring
elif self.__lineBreak__ > 4 and "\n" in substring:
self.__s__ = ""
return super(TInput, self).insert_text(s, from_undo=from_undo)
我認爲應該做的工作
相關問題
- 1. Python kivy文本輸入
- 2. 訪問輸入文本框,只有選擇啓用允許searchs
- 3. 如何在kivy文本輸入中水平居中文本?
- 4. Kivy,ScrollableLabel只有黑色和大文本
- 5. 與文本輸入Kivy錯誤
- 6. ADF輸入文本啓用
- 7. 啓用文本輸入
- 8. 如何從鍵盤輸入文本字段中只有四個值?
- 9. 角 - 輸入型只有輸入文本=「文本」
- 10. 不使用啓用或只讀文本輸入
- 11. 在其他文本輸入字段中輸入文本時啓用複選框
- 12. 如何在文本輸入中輸入文本後才啓用按鈕
- 13. 將文本插入到Kivy的TextInput()中
- 14. 應用樣式只輸入=文本
- 15. 允許用戶只輸入文本?
- 16. 只讀文本輸入Rails3中
- 17. 啓用輸入選擇,但禁用文本輸入
- 18. Kivy更新的文件瀏覽器,輸入文本
- 19. 使用文本框,沒有按鈕,輸入要執行則只有數允許
- 20. SeleniumIDE只能將文本輸入到輸入字段中?
- 21. 開始使用Kivy:使用Kivy獲取用戶輸入
- 22. 只有四捨五入的Python函數?
- 23. 只有底角四捨五入
- 24. 檢查輸入是否有文本並啓用按鈕
- 25. 將輸入前的文本隱藏到只有$ -sign在Bash中?
- 26. 接受在文本框中只有字符輸入
- 27. 無法編輯兩次加載kivy模塊的文本輸入
- 28. 通過文本輸入和按鈕更新直方圖(kivy)
- 29. 將文本輸入保存到一個kivy應用程序的變量中
- 30. (Kivy/Python)當用戶點擊輸入時,從textinput小部件中存儲文本