簡體   English   中英

Kivy-kv語言VKeyboard

[英]Kivy- kv language VKeyboard

我想為使用Kivy 1.9.0編寫的應用程序添加VKeyboard小部件。 我使用Python 2.7.12。 有沒有辦法通過kv語言將此小部件添加到應用程序? 因為在嘗試下面的方法時有錯誤:'ValueError:沒有JSON對象可以被解碼'

        Button:
            background_color:1,0,0,0.5
            text:'Next word'
            size_hint:.5,.2
            font_size:25
            pos_hint:{'center_x':.5}
            on_press:root.word_dict()

        VKeyboard:
            layout:'layout.json'

layout.json

 { "title":"KeyboardPinyin", "description":"Keyboard using for writing pinyin characters", "cols":5, "rows":3, "normal_1":[ ["ā","ā","ā",1], ["ē","ē","ē",1], ["ī","ī","ī",1], ["ō","ō","ō",1], ["ū","ū","ū",1] ], "normal_2": [ ["á","á","á",1], ["é","é","é",1], ["í","í","í",1], ["ó","ó","ó",1], ["ú","ú","ú",1] ], "normal_3": [ ["ǎ","ǎ","ǎ",1], ["ě","ě","ě",1], ["ǐ","ǐ","ǐ",1], ["ǒ","ǒ","ǒ",1], ["ǔ","ǔ","ǔ",1] ], "normal_4": [ ["à","à","à",1], ["è","è","è",1], ["ì","ì","ì",1], ["ò","ò","ò",1], ["ù","ù","ù",1] ] }
Traceback (most recent call last):
  File "C:/Users/joran/.PyCharm50/config/scratches/scratch_33", line 3, in <module>
    data = json.load(open(os.path.expanduser("~/layout1.json")))
  File "C:\Python27\lib\json\__init__.py", line 290, in load
    **kw)
  File "C:\Python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 382, in raw_decode
    obj, end = self.scan_once(s, idx)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in position 0: unexpected end of data

你不能嘗試使用utf8解碼輸入...你的json中有非utf8字符

你應該使用unicode表示"\à"等(或者你必須以某種方式指定json的字符編碼......我不知道你怎么可能這樣做)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM