Kivy颜色解析器无效的颜色格式

时间:2016-05-05 10:22:12

标签: python kivy

您好我有以下代码 main.py

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

from kivy.app import App
from kivy.core.window import Window


class SpendApp(App):
    pass
if __name__ == '__main__':
   Window.fullscreen = False
   SpendApp().run()

spend.kv

FloatLayout:
    canvas.before:
        Color:
            rgba: .1,.4,.5,1
        Rectangle:
            pos: self.pos
            size: self.size
    Label:
        text: '[color= #007f7fff]SET REMINDER[/color] NOW'
        font_name: 'FreeSans'
        font_size: 25
        text_size: self.size
        markup: True
        halign: 'left'
        valign: 'middle'
        size_hint: .5, .2
        pos_hint: {'center_x': .5, 'center_y': .5}

我使用kivy和python 2.7.9。我想要显示标签,并且像我在标记中设置的那样格式化文本颜色     text:' [color =#007f7fff] SET REMINDER [/ color] NOW' 但是当我运行代码时,我会收到警告"无效的颜色格式为你' #007f7fff'",标记括号中的文字为黑色。 所以我想知道我做错了什么,以及如何做到正确。 感谢。

1 个答案:

答案 0 :(得分:1)

BBCode解析器非常严格,不允许额外的空格。如果您使用

,您的代码将起作用
                                if(roll < 6)
                                {
                                    countRoll++;
                                }
                                else if(roll == 6)
                                {
                                    countDouble++;
                                }

或者,就此而言,

text: '[color=#007f7fff]SET REMINDER[/color] NOW'

kivy.core.text.markup.py are 194ff中的相关行,显示了如何拆分颜色字符串并将其发送到颜色解析器。 kivy.parser.py l. 38ff包含text: '[color=rgba(0,127,127,255)]SET REMINDER[/color] NOW' 函数,它可以准确显示颜色字符串的预期格式。