4-事件处理

发布时间 2023-06-30 08:33:38作者: Devinwon

在前面的例子中,我们没有对以下语句做出说明:

# 监听事件
event,values=window.read()

接下来,我们对其做出简单解释:

  • event
    当执行window.read()函数时,将会返回一个(event,values)元组。event是事件,它可能是一个按钮的按下、列表项的选择等,比如我设置了一个sg.Submit('提交')按钮,那么event返回的是'提交'。如果我什么也不填,sg.Submit(),那么返回默认值'Submit',当然界面上显示的也是Submit。如果用户点击右上角X关闭窗口,则是None。

默认情况下只有Button才能触发事件,然后执行window.read(),也就是说返回的event始终是button名。但是如果你给控件加上一个 enable_events=True参数,那么点击任何控件都可以触发事件了,比如说 sg.Text('name',enable_events=True),那么点击文本也可以触发事件。

  • values
    values是一个包含所有输入元素的值的字典。字典使用键来定义词条。如果你的元素没有特定的键,系统为你提供一个键。这些自动编号的键是以0开始的。

比如说我有两个输入框,则第一个输入框的值是values[0],第二个输入框的值是values[1]