2016-09-08 33 views
1

私はKivy 1.9.0を使って書かれた私のアプリのVKeyboardウィジェットを追加したいと思います。私はPython 2.7.12を使用しています。このウィジェットをkv言語経由でアプリケーションに追加する方法はありますか?以下の方法をしようとしているときにバグがあるので:あなたはそれが使用して入力を解読しようとすることはできませんKivy- kv言語VKeyboard

 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] ] } 
+0

それはlayout.jsonが有効なjsonではないように聞こえます。少なくともポストlayout.json –

+0

layout.jsonがあります:{ "タイトル": "KeyboardPinyin"、 "説明": "ピンイン文字を書き込むために使用するキーボード"、 "colsの":5、 "行":3、 "normal_1": ["ā"、 "ā"、1]、 ["ē"、 "ē"、 "ē"、1]、 ["ī"、 "ī"、 " I」、1]、 [ "O"、 "O"、 "O"、1]、 [ "U"、 "U"、 "U"、1] ]、 "normal_2":["é"、 "í"、 "í"、 "é"、 "é"、é "、1]、 ["á "、"á "、"í " 1]、 [ "O"、 "O"、 "O"、1]、 [ "U"、 "U"、 "U"、1] ]、 "normal_3": [ [ "ǎ["ǐ"、 "ǎ"、1]、 ["" "、" ""、1]、 ["ǐ"、 "ǐ"、1] ]、 "normal_4": [ ["à"、 "à"、 "" "、"ǒ "、"ǒ "、1] "0"、1]、 ["è"、 "è"、 "è"、1]、 ["ì"、 "ì"、1]、 ["ò"、 "ò" 、 "ò"、1]、 ["ù"、 "ù "、"ù "、1] ] } – Andrij

答えて

0
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 

を 'とValueErrorませんJSONオブジェクトをデコードすることができ' utf8 ...あなたのjsonにutf8以外の文字があります

代わりにユニコード表現"\u00e0"などを使用する必要がありますosonhow jsonの文字エンコーディングを指定します...私はあなたがそれをオフハンドで行うかもしれないか分かりません)

+0

ユニコードで文字を書き込んだ後も問題が発生します。 – Andrij

+0

問題が解決しない場合は、 – Andrij

+0

どういう意味ですか? –

関連する問題