我正在尝试为 Android 创建一个简单的记事本。如何向 Kivy 的 TextInput() 添加行号?我的代码是
from kivy.app import App
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
class Text(TextInput):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.hint_text = "Your text here"
class NotePad(App):
def build(self):
box = BoxLayout()
text = Text()
box.add_widget(text)
return box
我想添加行号。我怎样才能做到这一点?
根据时间戳,你迟到了,但我发现我自己也遇到了和你一样的问题,我认为其他人也有同样的问题。我是 kivy 的新手,我确实注意到使用 KV 文件,因为有时会让我感到困惑,我更喜欢“python”风格。
我查看了 kivy API,发现了自己的行号处理方式。不是最好的或更聪明的,但正在做这项工作。
因为 CodeInput 是从 TextInput 继承的,所以你可以替换它并且同样可以工作。
我更新了代码以解决错误,并添加了注释和未来。现在我将继续在我的 github 上更新它,因为它变得更大了一点(600 多行)。
预览:
也许这可能对您有帮助:https://github.com/griloHBG/TextInputLineNumber
它使用 KV 语言(非常好),但可以用作开发仅 Python 的东西的基础。
你说的例子使用kivy,当我在我的电脑上测试它时它不起作用,
你能运行它并告诉我你的计算机是否正在下雨吗?