我想从sg.input PySimpleGUI中分离一个字符串


from ast import Import
from tkinter import Tk
from tkinter import Tk
import  PySimpleGUI as sg
class comparador:
def main():

layout = [
[sg.Text("folha 1", justification='left'), sg.Input(key='1')],
[sg.Text("folha 2", justification='left'), sg.Input(key='2')],
[sg.Push()],
[sg.Button("Detetar", key='detetar')]
]


window = sg.Window("Main Window", layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
if event == "detetar":
window.close()
folha1 = '1'.split()
folha2 = '2'.split()
layout = [[sg.Text(list(set(folha1).symmetric_difference(set(folha2))))]]
resposta = sg.Window("Second Window", layout, resizable=True)
choice = None
while True:
event, values = resposta.read()
if event == sg.WIN_CLOSED:
break



if __name__ == "__main__":
main()

区块报价

调用window.read并返回(event, values)后,使用values[key]获取带键元素的内容。

最好将代码拆分为不同的窗口。

import  PySimpleGUI as sg
def popup(folha1, folha2):
sg.theme('DarkBlue4')
layout = [[sg.Text(list(set(folha1).symmetric_difference(set(folha2))))]]
resposta = sg.Window("Second Window", layout, resizable=True, finalize=True)
resposta.force_focus()
choice = None
while True:
event, values = resposta.read()
if event == sg.WIN_CLOSED:
break
resposta.close()
def main():
sg.theme('DarkBlue3')
layout = [
[sg.Text("folha 1", justification='left'), sg.Input(key='INPUT 1')],
[sg.Text("folha 2", justification='left'), sg.Input(key='INPUT 2')],
[sg.Push()],
[sg.Button("Detetar", key='detetar')]
]
window = sg.Window("Main Window", layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
elif event == "detetar":
folha1 = values['INPUT 1'].split()
folha2 = values['INPUT 2'].split()
popup(folha1, folha2)
window.close()
if __name__ == "__main__":
main()

最新更新