如何在没有 .kv 文件的 Kivy TEXTINPUT 中添加行号?

问题描述 投票:0回答:3

我正在尝试为 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

我想添加行号。我怎样才能做到这一点?

python kivy textinput line-numbers
3个回答
2
投票

根据时间戳,你迟到了,但我发现我自己也遇到了和你一样的问题,我认为其他人也有同样的问题。我是 kivy 的新手,我确实注意到使用 KV 文件,因为有时会让我感到困惑,我更喜欢“python”风格。

我查看了 kivy API,发现了自己的行号处理方式。不是最好的或更聪明的,但正在做这项工作。

因为 CodeInput 是从 TextInput 继承的,所以你可以替换它并且同样可以工作。

我更新了代码以解决错误,并添加了注释和未来。现在我将继续在我的 github 上更新它,因为它变得更大了一点(600 多行)。

预览:

preview


1
投票

也许这可能对您有帮助:https://github.com/griloHBG/TextInputLineNumber

它使用 KV 语言(非常好),但可以用作开发仅 Python 的东西的基础。


0
投票

你说的例子使用kivy,当我在我的电脑上测试它时它不起作用,

你能运行它并告诉我你的计算机是否正在下雨吗?

© www.soinside.com 2019 - 2024. All rights reserved.