首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kivy TextInput中使用TextInput图形?

如何在Kivy TextInput中使用TextInput图形?
EN

Stack Overflow用户
提问于 2016-04-09 16:16:35
回答 1查看 828关注 0票数 2

我最近发现了一组我希望能在文本中使用的表情符号。它们是.svg格式的,我不知道如何插入它们。我有一个TextInput来输入消息,还有一个定制的小部件,它使用TextInput来显示文本。我很乐意得到任何帮助,链接,文章,任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-10 13:52:27

Edit2:

正如@RyanP在评论中解释的那样,我认为字体保存着表情符号的图像,因此你需要做的唯一一件事就是取你的字体(或者直接使用一种字体),然后用你的.svgs对每个表情符号添加/替换该字体中的表情符号。

这个表格肯定会对你和方锻都有帮助。这里是导入svgs的文档的一部分。

万一不可能做这样的事,我还会把剩下的答案留在下面。

我不知道TextInput是否能够做这样的事情--插入.svg或将任何图片插入到自身中,因为它呈现文本。

然而,我可以看到一个解决办法,为每个表情符号制作一些文本等效或标签- [smileemoji]。然后,在提交文本之后,创建一个函数,将标记替换为emojis。但是,它不会在编写时与标签一起使用,因为它也只呈现文本。

我如何看待它:

  • 您可以使用标签,这将是一个大小的文本,然后放置表情符号,然后另一个标签与剩余的文本。但是您在包装它时会遇到问题,因为您无法像第二个示例那样打破一行(至少我不知道如何),这样它就会保持为一个小部件。
代码语言:javascript
复制
- 1: `bla bla bla` emoji `remaining text`
- 2: bla bla bla bla bla bla bla `remaining`

text

  • 作为第二个选择,我建议您制作一个单一的标签,然后:
代码语言:javascript
复制
- emoji has to have constant size
- make for each tag a special character(s) in your text that will be constant size(use markup) - I recommend you something that'll highly resemble _square shape_
- place an `Image` with same width as your special character(s) on the top of the `Label`, so that it'll behave as an image in your text, but in reality it'll be another widget

第二个选项对我来说是合乎逻辑的,因为Label将处理包装,您需要找到和设置的唯一东西是屏幕上文本中该字符的常量大小和位置(这样您就可以定位Image小部件--而不是字符串中的位置)。

如果您想继续使用TextInput作为输出管理器,那没问题,但是您必须自己在TextInput中管理您的特殊角色的大小,如果输出管理器更改颜色(例如,TextInput在焦点/非焦点上所做的),则必须处理Image小部件的颜色,这样就不会显得奇怪。

还有滚动,您也需要处理这个问题,这样您的表情符号就不会在没有原因的情况下飘浮,或者在文本变化时保持在Label/TextInput的顶部。

以防万一,你的表情符号将是透明的,或者它的背景色将与你的输出管理器的颜色一致。

编辑:

如果你只想要一些表情符号,放弃图像的想法,去寻找标签,并替换为unicode 12

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36519439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档