2017-06-28 7 views
0
from kivy.storage.jsonstore import JsonStore 
def ContactCallback(instance): 
    Friends = JsonStore('friendslist/'+accountname+'/offline.json') 
    Friends.put(
     str(FriendsDatabase.get('Counter')['Count']), 
     Nickname=NicknameIn.text, 
     TimeZone=TzIn.text, 
     Discord=DiscordIn.text, 
     Hypixel=HypixelIn.text, 
     Badlion=BadlionIn.text, 
     Other1=Other3In.text, 
     Other2=Other2In.text 
    ) 
    FriendsDatabase.put(
     'Counter', 
     Count=1 + ((FriendsDatabase.get('Counter')['Count'])) 
    ) 

testlist = (SimpleListAdapter(
    data=database, 
    cls=ListItemButton 
)) 

私は、python 2.7、kivy、およびJsonStoreを使用して連絡先リストを作成しようとしています。私のGUIは、入力されたテキスト入力を含むポップアップを作成し、保存ボタンを押すとその機能が起動されます。呼び出し用のキーリストを作成する

この関数はファイルを作成し、そのファイル内にリスト名を作成して連絡先名とし、discordなどの他のすべての情報をそのリストの一部にします。

私がしたいことは、スクロール可能なGUIを作成してリストに保存したすべての連絡先を表示することです。これはJsonStoreを使用して別のリストを作成しようとしていましたが、助けてください!私はあなたの質問をたくさんストリップダウンしている

NameList = JsonStore('friendslist/db.json') 
NameList.put('namelist', NameIn.text) 
+0

文字列で関数を実行できるようにしたいということですか? –

+0

申し訳ありませんが、私はoffline.jsonファイル内のリスト名のリストを作成することはできません –

答えて

0

、これは保存して、連絡先のリストを出力します:私はのようなものを使用してGUIを作成することができるように

私はリストを呼び出すための方法が必要です。

また、jsonライブラリを使用します。

import json 

# List of contacts, 
contacts = [("Jason", ["zomboid12321", "[email protected]"]), 
      ("Ruby", ["tigerboy15", "[email protected]"]),] 

# Load an empty JASON file with only a list of contacts, 
# Note: you could also use the `open` statement to load from 
#  - an already saved JSON. 
j = json.loads(""" 
{ 
    "contacts": [] 
} 
""") 

# Write contacts into JSON file, 
with open('offline.json', 'w') as f: 
    for contact in contacts: 
     j["contacts"].append({contact[0]:contact[1]}) 
    f.write(json.dumps(j)) 

# Read contacts from file, 
for contact in j['contacts']: 
    name, info = list(contact.items())[0] 
    print(name, info) 

それは、それがリストにjsonを読み込みます、offline.jsonファイルにcontactsが保存されます、それはあなたがまたさらに、あなたの代わりに持つのjsonを開くことができます:)

を尋ねたすべてを行う必要があります{ "contacts": [] }文字列を入力し、書き込みを削除します。この方法で、以前に保存したjsonを開くことができます。

+0

私はまだかなり混乱しています。ごめんなさい! 私はkivy JsonStoreを使用しようとしています。私はkivyテキスト入力からの入力をJsonに取り込むためにput関数を使用しています。 キーのリストを作成する必要があるので、キー名を使用してGUIを描画し、クリックすると個々の項目を呼び出してGUI内で操作し、フォントサイズの変更やレイアウト内を移動します。 D: –

+0

私のGUIは動作しています。上記のコードを使用してJsonに保存できます。私はキーのリストをどのように作成できるのか分かりません。 –

+0

'キー'は何を意味しますか?辞書キー?だから私が理解しているところから、あなたが取り出すことができる 'キー'のリストを保存したいのですか? 'json'の読み書きを行うために' JsonStore'を使用する必要がある場合は、私が助けることができるかどうかわかりません:PSまた、 'json'ライブラリは標準であり、上記のリストが生成されます:) –

関連する問題