PySimpleGUI弹出子窗口,呈现文本框
时间: 2024-05-04 08:16:35 浏览: 133
PySimpleGUI
好的,我理解了你的要求和问题。你可以使用PySimpleGUI库中的Popup一步功能,来实现弹出子窗口,并且利用Text元素来呈现文本框。下面是一个简单的示例代码,供你参考:
``` python
import PySimpleGUI as sg
# 创建主窗口
layout = [[sg.Button('打开子窗口')]]
window = sg.Window('主窗口', layout)
# 创建子窗口
sub_layout = [[sg.Text('这是一个文本框')], [sg.OK()]]
sub_window = sg.Window('子窗口', sub_layout, keep_on_top=True, modal=True)
# 主事件循环
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, '退出'):
break
elif event == '打开子窗口':
sub_event, sub_values = sub_window.read()
if sub_event == sg.WIN_CLOSED or sub_event == 'OK':
sub_window.close()
# 关闭窗口
window.close()
```
在这个代码中,我们首先创建了一个包含一个按钮的主窗口,在按钮被点击时会弹出一个子窗口。在子窗口中,我们创建了一个文本框和一个OK按钮。注意,我们将子窗口设置为置顶(keep_on_top=True),并且启用了模态(modal=True)模式,这样用户必须先处理完子窗口才能返回主窗口。最后,我们在主事件循环中监听主窗口的事件,并检测子窗口中OK按钮的点击事件。如果用户关闭了子窗口,我们就直接关闭子窗口;否则,我们就先处理子窗口中的事件,等到用户点击OK按钮后再关闭子窗口。希望这个示例代码能够帮到你!
阅读全文