代码:
import PySimpleGUI as sg
layout = [
[sg.Input(s=(26, 1), background_color='red', k='Input')],
[sg.Button('White', s=(10, 1)), sg.Button('Black', s=(10, 1))],
]
window = sg.Window('test', layout=layout, margins=(1, 1))
while True:
event, values = window.read()
window.read()
if event == 'White':
window['Input'].update(background_color='white')
if event == 'Black':
window['Input'].update(background_color='black')
我已经实现了当你按下按钮时,输入框的颜色会改变。
但是为什么我必须按两次按钮才能真正改变它的颜色呢?
window.read()
后,我总是会加上print(event, values)
。这样可以找到双重读取的问题,同时也能让我知道可能发生的事件等等。对于PSG程序来说,这是一种非常有效的调试技巧。 - Mike from PSG