PySimpleGUI建立一个界面,界面中再嵌套一个界面
时间: 2024-05-14 18:15:34 浏览: 131
可以使用PySimpleGUI的嵌套布局来实现在一个界面中嵌套另一个界面。
下面是一个示例代码,其中包含一个主界面和一个嵌套的子界面:
```python
import PySimpleGUI as sg
# 定义子界面的布局
layout_child = [
[sg.Text('这是子界面')],
[sg.Button('关闭子界面')]
]
# 定义主界面的布局,嵌套子界面
layout_main = [
[sg.Text('这是主界面')],
[sg.Frame('子界面', layout_child)],
[sg.Button('打开子界面'), sg.Button('退出')]
]
# 创建窗口
window = sg.Window('主界面', layout_main)
# 事件循环
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, '退出'):
break
elif event == '打开子界面':
# 创建子界面窗口
window_child = sg.Window('子界面', layout_child)
while True:
event_child, values_child = window_child.read()
if event_child in (sg.WIN_CLOSED, '关闭子界面'):
# 关闭子界面窗口
window_child.close()
break
# 关闭主界面窗口
window.close()
```
在这个示例中,我们定义了一个子界面的布局,然后在主界面中创建了一个嵌套的Frame,并将子界面的布局作为Frame的layout参数传入。在主界面的事件循环中,当用户点击“打开子界面”按钮时,我们创建了一个新的子界面窗口,并在子界面的事件循环中等待用户关闭子界面。最后,在用户关闭主界面窗口时,我们退出事件循环并关闭所有窗口。
阅读全文