如何从PySimpleGUI读取多行元素

问题描述 投票:0回答:1

我的程序存根看起来像这样:

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”对象不可调用我问多行会在字典值中生成字典吗?

所以我简单的新手问题是如何读取使用pysimpleGUI创建的gui的多行

python-3.7 pysimplegui
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.