【问题标题】:how to read a multiline element from PySimpleGUI如何从 PySimpleGUI 中读取多行元素
【发布时间】:2020-03-18 16:16:38
【问题描述】:

我的程序存根如下所示:

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】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多