为什么pysimplegui中的INput不能更新设定内容
时间: 2024-10-01 15:07:25 浏览: 42
在PySimpleGUI (sg) 中,`InputText` 和 `In` 是用于创建输入字段的组件,它们允许用户输入文本,但本身并不支持直接更新设定的内容。这些组件的设计目的是接收用户的实时输入,而不是用来存储或修改预设的值。一旦你创建了一个 `InputText` 或 `In`,它的初始内容就是固定的,除非用户在运行时更改其输入。
如果需要动态改变输入字段的内容,通常是在程序内部通过事件循环监听用户输入并相应地更新其他变量,然后再利用这些变量来驱动界面的变化。例如:
```python
layout = [[sg.InputText('初始内容', key='input_text')], [sg.Button('更新'), sg.Button('显示')]]
window = sg.Window('示例', layout)
while True:
event, values = window.read()
if event == '更新':
new_content = '新的内容'
window['input_text'].update(value=new_content)
elif event == '显示':
print(values['input_text'])
if event in (sg.WINDOW_CLOSED, 'Exit'):
break
window.close()
```
在这个例子中,当点击"更新"按钮时,`input_text` 的内容会被设置为新的内容。[^1]
阅读全文