pysimplegui中的table窗口如何设置点击事件
时间: 2024-09-30 08:04:22 浏览: 47
在PySimpleGUI中,`Table`组件不直接支持点击事件,但你可以通过创建`Listbox`来实现类似的功能,因为`Listbox`允许交互并处理单击事件。这里有一个简单的示例:
```python
import PySimpleGUI as sg
# 定义表格的数据
data = [
["ID", "Name"],
[1, "John Doe"],
[2, "Jane Smith"],
[3, "Bob Johnson"]
]
layout = [
[sg.Table(values=data, headings=True, auto_size_columns=True)],
[sg.Listbox(values=[], key="-LISTBOX-")]
]
window = sg.Window("Table with Listbox Click Event", layout)
while True:
event, values = window.read()
if event in (sg.WINDOW_CLOSED, "Cancel"):
break
# 如果用户点击了表格中的某个条目,更新ListBox的内容
if event == "-TABLE-":
selected_rows = values["-LISTBOX-"].update(selected_rows)
# 处理 ListBox 的点击事件
elif event == "-LISTBOX-":
clicked_index = values["-LISTBOX-"][0] # 获取点击的索引
# 在这里可以对点击的项目做进一步操作
window.close()
```
在这个例子中,当用户在表格中选择一行时,相应的行会被添加到`Listbox`中。你可以根据实际需求替换`clicked_index`部分的代码以响应点击事件。
阅读全文