首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PysimpleGUI无法读取sg.WIN_CLOSED事件中的inputFields

PysimpleGUI是一个Python的图形用户界面(GUI)库,它提供了简单且易于使用的界面设计工具。在使用PysimpleGUI时,有时可能会遇到无法读取sg.WIN_CLOSED事件中的inputFields的问题。

首先,让我们来了解一下PysimpleGUI和sg.WIN_CLOSED事件的概念。

PysimpleGUI是一个基于Tkinter、Qt、WxPython等GUI库的封装,它提供了一种简单的方式来创建跨平台的图形用户界面。它支持多种布局和控件,使开发者能够快速构建用户友好的界面。

sg.WIN_CLOSED是PysimpleGUI中的一个事件,它表示用户关闭了窗口。当用户点击窗口的关闭按钮时,该事件会被触发。

然而,有时候在sg.WIN_CLOSED事件中,无法读取inputFields的值。这可能是因为在事件处理函数中,无法直接访问inputFields的值。为了解决这个问题,可以使用PysimpleGUI的回调函数机制。

回调函数是一种在特定事件发生时被调用的函数。在PysimpleGUI中,可以通过设置回调函数来处理特定事件,包括sg.WIN_CLOSED事件。

以下是一个示例代码,演示了如何在sg.WIN_CLOSED事件中读取inputFields的值:

代码语言:txt
复制
import PySimpleGUI as sg

def main():
    layout = [
        [sg.Text('请输入您的姓名:'), sg.Input(key='-NAME-')],
        [sg.Button('提交')]
    ]

    window = sg.Window('示例窗口', layout)

    while True:
        event, values = window.read()

        if event == sg.WIN_CLOSED:
            break

        if event == '提交':
            name = values['-NAME-']
            print('您输入的姓名是:', name)

    window.close()

if __name__ == '__main__':
    main()

在上述代码中,我们创建了一个简单的窗口,包含一个文本输入框和一个提交按钮。当用户点击提交按钮时,我们通过values字典获取输入框的值,并进行处理。

注意,在事件处理循环中,我们首先检查是否触发了sg.WIN_CLOSED事件,如果是,则跳出循环,关闭窗口。

这样,我们就可以在sg.WIN_CLOSED事件中正确地读取inputFields的值了。

对于PysimpleGUI的更多信息和使用方法,您可以参考腾讯云的相关产品和文档:

请注意,以上链接仅供参考,具体的产品和文档可能会有更新和变动。建议您访问腾讯云官方网站以获取最新的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用Python写软件原来这么简单,一个极易入门GUI框架

在Python同时编写基于桌面和基于WebGUI唯一方法 从零开始发展为具有Python友好界面的纯Python实现。 对Python新手和专家都具有吸引力。...在PySimpleGUI,窗口布局是按照列表顺序从上往下依次排列,二级列表,从左往右依此排列。...event:事件,它可能是一个按钮按下、单击了某些文本、列表项选择等,如果用户直接关闭窗口,则为None。...sg.Button('Read'), sg.Exit()]] window = sg.Window('Window that stays open', layout) while True: # 循环读取事件...GUI程序,可以在文档复制需要实例,调试修改成自己需要最终界面,研究它们设计模式和逻辑,慢慢你也能写出那些高大上软件了。

2.6K30

Python GUI之PySimpleGUI

简介 PySimpleGUI基于Tkinter,Remi、wxPython和PyQt。Remi将应用程序界面转换为HTML以在Web浏览器呈现”。...在PySimpleGUI,可以把所有你能看到,可以定义元素理解为:区别他们方式就是key,然后他们值就是value。...#这两句后边慢慢讲,也就是读取输入内容,弹窗显示 text_input = values[0] sg.popup('You entered', text_input) 常用属性介绍 这里介绍几个我们常用一些属性吧...比如 尺寸 ,元素显示名称 , 绑定事件 、 元素键值 尺寸 # 关键字 size,或者 s # 例如设置窗口大小为 宽:500px,高:300px,有的元素是以字符宽高表示 # sg.Window...窗口 名称为 size window = sg.Window('size') 元素键值 # 在PySimpleGUI我们若为元素指定 key 则必须唯一 # 假如我们有三个 InputText其中一个指定

40560

PySimpleGUI 进阶| 原来用Python做一个图片查看系统,还能这么简单!

系列导读 PySimpleGUI|基础讲解 大家好,在昨天文章我们已经介绍了为什么以及如何基本使用PySimpleGUI,并且对一些比较常用元素(element)也有所了解。...本文将对基础版一些元素与新讲解元素进行组合,构建一个图片查看系统与一个简易计算机视觉系统(代码调用前置照相机) 作为PySimpleGUI进阶篇,我将分为以下两个部分讲解: 图片查看系统构建...单独来讲,key是用来标记,enable_events就是用来控制元素对应事件循环中开始与结束,相当于执行元素事件。...() if event == "Exit" or event == sg.WIN_CLOSED: break 在整个事件,除了获取事件与对应值外,你可以通过调用key来与相应元素进行对话...随之相应就是 cv2.imdecode():指从指定内存缓存读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据恢复出图像 ” 以上便是本次pySimpleGUI进阶版内容讲解,当然我们只是基于图片查看系统讲解

2.7K20

GUI经典实践-网速测试小工具-1

# -*- coding: utf-8 -*- import PySimpleGUI as sg from speedtest_cli import Speedtest import threading...two_line, three_line, four_line, five_line ] # 创建窗口 window = sg.Window('网速测试小工具', layout) # 事件循环...event loop while True: event, values = window.read(timeout=100) if event in (sg.WIN_CLOSED,...第二部分通过 PySimpleGUI 来和用户进行交互。我们在 GUI 事件循环中检测当发生 “开始测试” 事件时候开始进行测速,同时对 GUI 文本元素进行更新以提示用户当前进度。...Tip 眼尖你可能已经发现,或者在你实践过程也会发现,当我们点击开始测试时候,窗口会变成未响应状态,而且中间需要更新内容也没有出现,只在最后展示了测试结果。这是为什么呢?

98530

经典实践 | 网速测速小工具(上)

关于 SpeedTest speedtest 是世界上流行网速测试平台,python 有其对应库名为 speedtest-cli。我们可以使用其客户端进行网络测试,也可以使用类对象用代码去测试。...# -*- coding: utf-8 -*- import PySimpleGUI as sg from speedtest_cli import Speedtest import threading...two_line, three_line, four_line, five_line ] # 创建窗口 window = sg.Window('网速测试小工具', layout) # 事件循环...event loop while True: event, values = window.read(timeout=100) if event in (sg.WIN_CLOSED,...第二部分通过 PySimpleGUI 来和用户进行交互。我们在 GUI 事件循环中检测当发生 “开始测试” 事件时候开始进行测速,同时对 GUI 文本元素进行更新以提示用户当前进度。

1.1K00

GUI实战|Python做一个文档图片提取软件

本文将进一步讲解如何用Python提取PDF与Word图片,并结合之前讲解过GUI框架PysimpleGUI,做一个多文件图片提取软件,效果如下: ?...一、提取各文件内嵌图片 在之前文章有讲过,读取Excel有两种方法。...“path = values["lujing"]这里是读取GUI中键为**“lujing”**值,也即文件存储位置,用于os模块读取与操作。..._getXrefString(i) 这是我们第一步读取并遍历,将读取字符串内容放入到text if ('Width 2550' in text) and ('Height 3300' in text...这里有两个需要我们填写地方:文件位置和文件名。这里需要设置键,因为在后面事件绑定我们需要调用文件存储路径和文件名,在文中上半部分有提到过。

1.4K10

如果正确读取SQL Server扩展事件

SQL Server中使用扩展事件捕捉所需信息后,可以选择存放位置。比如说内存或文件,但无论存在哪里,其本质都是一个大XML。...因此在SQL Server读取该XML就是解析扩展事件结果方式。     微软官方或者一些SQL Server论坛提供了使用SQL XML解析扩展事件脚本,如代码清单1所示。...) 30: SELECT * 31: FROM events_cte 32: ORDER BY [event time] DESC; 代码清单1.读取扩展事件文件脚本...因此我对上述脚本进行了改写,将XML读取出来后,变为节点集合以关系数据格式存放,再用子查询进行筛选,这种方式读取数据基本上是秒出,如代码清单2所示。...GROUP BY unique_event_id 70: ) 71: SELECT * 72: FROM tt 73:  代码清单2.对扩展事件结果优化读取方式

1.3K90

如果正确读取SQL Server扩展事件

SQL Server中使用扩展事件捕捉所需信息后,可以选择存放位置。比如说内存或文件,但无论存在哪里,其本质都是一个大XML。...因此在SQL Server读取该XML就是解析扩展事件结果方式。 微软官方或者一些SQL Server论坛提供了使用SQL XML解析扩展事件脚本,如代码清单1所示。...) 30: SELECT * 31: FROM events_cte 32: ORDER BY [event time] DESC; 代码清单1.读取扩展事件文件脚本...因此我对上述脚本进行了改写,将XML读取出来后,变为节点集合以关系数据格式存放,再用子查询进行筛选,这种方式读取数据基本上是秒出,如代码清单2所示。...GROUP BY unique_event_id 70: ) 71: SELECT * 72: FROM tt 73: 代码清单2.对扩展事件结果优化读取方式

3.3K40

经典实践 | 网速测速小工具(下)

当我们代码在后台运行时候,CPU 会被抢占,此时我们窗口将会停止刷新从而呈现未响应状态,操作系统认为我们程序已经停止。但是如果我们程序就需要耗费一些时间,怎么办呢?...接上篇文章,我们计划将测速步骤写成独立方法,同时在主方法 start 调用他们,然后在 GUI 事件循环中起一个线程(将这个线程设置为守护线程)来执行主方法 start,这样我们未响应和实时刷新功能都可以解决...代码 # -*- coding: utf-8 -*- import PySimpleGUI as sg from speedtest_cli import Speedtest import threading...get_download_speed(window) get_upload_speed(window) end() # 创建窗口 window = sg.Window('网速测试小工具', layout) # 事件循环...event loop while True: event, values = window.read(timeout=100) if event in (sg.WIN_CLOSED,

81600

GUI经典实践-网速测试小工具-2

当我们代码在后台运行时候,CPU 会被抢占,此时我们窗口将会停止刷新从而呈现未响应状态,操作系统认为我们程序已经停止。但是如果我们程序就需要耗费一些时间,怎么办呢?...接上篇文章,我们计划将测速步骤写成独立方法,同时在主方法 start 调用他们,然后在 GUI 事件循环中起一个线程(将这个线程设置为守护线程)来执行主方法 start,这样我们未响应和实时刷新功能都可以解决...代码 # -*- coding: utf-8 -*- import PySimpleGUI as sg from speedtest_cli import Speedtest import threading...get_download_speed(window) get_upload_speed(window) end() # 创建窗口 window = sg.Window('网速测试小工具', layout) # 事件循环...event loop while True: event, values = window.read(timeout=100) if event in (sg.WIN_CLOSED,

85820

jquery动态新增元素节点无法触发事件解决办法

在使用jquery动态新增元素节点时会发现添加事件无法触发,我们下面就为各位来详细介绍此问题解决办法.   ...比如做一个ajax读取留言列表时候,每条留言后面有个回复按钮,class为“reply”,如果你用是$(".reply").click(function(){ //do something... }...),想必后面通过ajax加载进来列表回复按钮,点击事件会失效。   ...其实最简单方法就是直接在标签写onclick="",但是这样写其实是有点low,最好方式还是通过给类名绑定一个click事件。...解决jquery动态新增元素节点无法触发事件问题有两种解决方法,如下: 方法一:使用live   live()函数会给被选元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行函数。

1.7K20

40行代码自己动手写pdf转word小工具(文末附工具下载)

另外,pdf转word有现成第三方库pdf2docx,同时关于gui我们用pysimplegui,打包成exe采用是pyinstaller。...,咱们这个工具在进行操作时候会存在以下不足: 无法识别和重建PDF扫描件 根据有限、确定规则建立PDF与docx元素之间映射并非完全可靠,也就是说仅能处理常见规范格式,而非百分百还原 当然,...sg.Window('pdf转word工具,作者@微信公众号:可以叫我才哥', layout,font=("微软雅黑", 15),default_element_size=(50,1)) # 事件循环...sg.Window()是创建窗口,可以带窗口名称等信息 event和values是当执行window.read()函数时返回值:其中event是事件,如点击按钮、选择文件等;values是包含输入值...)已经天然支持对非扫描版pdf读取和转化了,大家通过以下流程进行处理:文档—>打开—>选择待转化pdf文件即可。

2.2K10
领券