kivy文本输入更改字体颜色添加背景行

2024-06-26 14:15:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个简单的Notes应用程序。这就是我添加注释的屏幕现在的样子。![enter image description here

我想实现两件事:

1。将我的TextInput的字体颜色改为白色。

2。如图所示,在我的TextInput中添加行

enter image description here

即使TextInput为空,行也应该始终可见。在

从python脚本中提取:

class NewNoteView(ModalView):
    pass

从我的kv文件中摘录

^{pr2}$

Tags: 脚本应用程序屏幕颜色字体passtextinput两件事
1条回答
网友
1楼 · 发布于 2024-06-26 14:15:24

你的问题结构很清楚(谢谢!)但你没有真正做好你的研究,是吗?至少在第一个问题上。

  1. 答案很简单:使用foreground_color属性并将其设置为1, 1, 1, 1;从文档:

(fore_ground color is the) current color of the foreground, in (r, g, b, a) format. Defaults to black.

  1. 现在这个有点有趣和复杂。直接的解决方案是在画布中使用Line。类似这样的操作会在.kv文件的小部件底部添加一条白线:

canvas.before: Color: rgba: 1, 1, 1, 1 Line: points: self.x + 20, self.y, self.x + self.width - 20, self.y width: 1

当我将你的应用程序改为使用两个文本输入时,看起来是这样的: How it looks

但是,据我所知,你只希望在一个便笺中有一个TextInput。所以你必须计算出线的高度,然后每x像素画一条线。Here's我找到了什么。您需要使用最小高度或线条高度加上行距。另外,我不认为您可以在.kv中实现这一点,我认为您需要用Python为它编写一个方法。

我建议将我的方法用于额外的TextInputs。您可以绑定“enter”每次创建一个新的TextInput,这样就可以有无限行。我相信这会比较容易,但是你可以用任何一种方法。

相关问题 更多 >