как читать многострочный элемент из PySimpleGUI - PullRequest
0 голосов
/ 18 марта 2020

Моя программная заглушка выглядит так:

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' не вызывается, я требую, чтобы мультилиния генерировала диктонарь значений в словаре?

, поэтому мой простой вопрос newb ie состоит в том, как прочитать мультилинию gui, созданного с помощью pysimple GUI

1 Ответ

0 голосов
/ 18 марта 2020

хорошо, одно из возможных решений - перебрать элементы мультилинии:

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

Есть ли лучшее решение? Пожалуйста, научите новичка ie

...