0

我的程序存根如下所示:

import PySimpleGUI as sg

layout = [[sg.Text("Geheime Nachricht eintippen:")],
          [sg.Multiline(size=(70,4),key="GEHEIM")],
          [sg.Spin([i for i in range(1,26)], initial_value=12, key="SS"), sg.Text("Schlüssel zwischen 1 und 25 wählen")],
          [sg.Radio("Codieren:", "RADIO1", key="XX" ,default=True),
           sg.Radio("Decodieren:","RADIO1", key="YY")],
          [sg.Text("ERGEBNIS:")],
          [sg.Multiline(size=(70,4),key="AUSGABE")],
          [sg.Button("Weiter"), sg.Button("Ende")]]

window = sg.Window("Geheimcode", layout)

while True:  # Ereignisschleife
    event, values  = window.Read()
    geheimertext = values("GEHEIM")
    print(values("GEHEIM"))
    schluessel = int(values["SS"])
    print ("Schlüssel = ", schluessel)
    if values["XX"] == True:
        codedecode = "C"
        print("wir codieren:",codedecode)
    else:
        codedecode = "D"
        print("wir decodieren:",codedecode)
    if event is None or event == "Ende":
        break
window.Close()

程序行 geheimertext = values("GEHEIM") 给出了这个错误: TypeError: 'dict' object is not callable 我怀疑多行在字典值中生成一个字典?

所以我的简单新手问题是如何阅读用 pysimpleGUI 制作的 gui 的多行

4

1 回答 1

0

好的,一种可能的解决方案是遍历多行的元素:

geheimertext=""
for zeichen in values["GEHEIM"]:
    geheimertext = geheimertext +zeichen    
print(geheimertext)

有更好的解决方案吗?请教新手

于 2020-03-18T08:16:38.590 回答