python自定义事件event的含义_python使用多线程与自定义event更新tinter的内容

开启一个线程,监听命令行的输入,得到字符串后向tkinter发送<>事件。

另一方面,tkinter窗口的listbox绑定了<>事件,并把字符串加入到列表中显示出来。

关闭窗口后,不再监听命令行的输入,也不再发送事件。

# -*- coding: UTF-8 -*-

from Tkinter import * #引入模块

import threading

x = "" #储存命令行传来的字符

running = True #判断tkinter界面是否还在运行

def getinput():

#这个线程用以监听命令行输入,并发送event给tkinter

global x, running

while running:

x = raw_input()

if running:

lb.event_generate("<>")

else:

return

def callback(event):#吧命令行的输入放入listbox中

global x

lb.insert(0, x)

print "put %s in lb, ok!" % x

def close():#关闭窗口

global running, top

running = False

top.destroy() #绑定了WM_DELETE_WINDOW后需要手动关闭,否则窗口会一直存在

top = Tk() #主窗口

top.geometry('200x400') #设置了主窗口的初始大小600x400

lb = Listbox(top) #设置标签字体的初始大小

lb.insert(0, "Hello")

lb.pack(fill=Y,expand=1)

lb.bind('<>',callback) #自定义的event 需要<>的形式

top.protocol("WM_DELETE_WINDOW", close) #关闭窗口时改变running的值

y = threading.Thread(target = getinput)

y.start()

lb.mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32f401 边沿捕获_STM32_capture 基于 设计的输入捕获实验,通过对边沿跳变的采集,得到外部接口 据。 SCM 单片机开发 261万源代码下载- www.pudn.com...

文件名称: STM32_capture下载 收藏√ [5 4 3 2 1 ]所属分类: SCM开发工具: Visual C文件大小: 447 KB上传时间: 2016-07-11下载次数: 0提 供 者: 刀锋意志详细说明&#xff1a;基于STM32设计的输入捕获实验&#xff0c;通过对边沿跳变的采集&#xff0c;得到外部接口的数…

【市场调研与分析】Intel发力移动安全领域——By Me at 20140613

【市场调研与分析】Intel发力移动安全领域 第一部分 Intel收购McAfee情况调研 1.1 Intel收购McAfee综述 2010年8月&#xff0c;英特尔公司以76.8亿美元价格收购安全软件供应商McAfee公司&#xff0c;继续向嵌入式前沿扩张&#xff0c;特别是手机市场。但这笔让人惊讶的交易仍存…

hadoop2 Ubuntu 下安装部署

搭建Hadoop环境( 我以hadoop 2.7.3 为例, 系统为 64bit Ubuntu14.04 ) hadoop 2.7.3 官网下载 , 选择自己要安装的版本。注意每个版本对应两个下载选项source和binary&#xff0c;我们暂时下载binary,我们下载编译好的文件hadoop-2.7.3.tar.gz , 解压后为 hadoop-2.7.3 , 这个可…

centos 如何登陆mysql_CentOS 配置MySQL允许远程登录

Mysql为了安全性&#xff0c;在默认情况下用户只允许在本地登录&#xff0c;可是在有此情况下&#xff0c;还是需要使用用户进行远程连接&#xff0c;因此为了使其可以远程需要进行如下操作&#xff1a;一、允许root用户在任何地方进行远程登录&#xff0c;并具有所有库任何操作…

idea 多模块build_[史上最详细]springboot创建基于maven的多模块项目

点击蓝字 关注我们 背景项目为什么需要用多模块&#xff1f;springmvc难道还不够我们平常使用吗&#xff1f;设计模式真言&#xff1a;“高内聚、低耦合”&#xff0c;springmvc项目&#xff0c;一般会把项目分成多个包&#xff1a;controller、service、dao、util等&#xff0…

工作43:设计思路

我一开始的想法是&#xff0c;custom table里面只放和表格本身相关的方法&#xff0c;比如选中行&#xff0c;分页和表头配置啥的 其他的和数据相关的方法都放到父组件处理

python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库

任务&#xff1a;应帅气的领导要求&#xff0c;需要监控生产环境mysql和mongo数据库服务。不仅要connect successful还要进行数据交互进一步确认数据库服务正常。思路&#xff1a;mysql和mongo 数据库ip、端口、用户名、密码、认证库(mongo)分别写在mysqldb_message.txt和mongo…

Vue中 $ref 的用法

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用&#xff0c;引用信息就是元素; 如果用在子组件上&#xff0c;引用信息就是组件实例 注意&#xff1a;只要想要在Vue中直接操作DOM元素&#xff0c;就必须用r…

Nginx服务器之基础学习

一、Nginx介绍 nginx&#xff1a;Nginx是一种软件服务器&#xff08;轻量级&#xff09;&#xff0c;故它最主要的功能就是可以与服务器硬件结合&#xff0c;我们的应用程序可以放在nginx服务器上进行发布&#xff0c;已达到让网民浏览的效果。除此自外&#xff0c;Nginx是一种…

工作44:阅读代码1 dictionary

dictionary tabmixin 这个是dictionary混入 create里面有混入addedit addedit方法

mysql coalesce函数用法_MySQL coalesce函数用法说明(转)

在mysql中&#xff0c;其实有不少方法和函数是很有用的&#xff0c;一个叫coalesce的&#xff0c;作用是将返回传入的参数中第一个非null的值&#xff0c;比如SELECT COALESCE(NULL, NULL, 1);-- Return 1SELECT COALESCE(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);…

mysql开启布隆过滤器_海量数据去重之布隆过滤器

背景在使⽤word⽂档时&#xff0c;word如何判断某个单词是否拼写正确&#xff1f;⽹络爬⾍程序&#xff0c;怎么让它不去爬相同的url⻚⾯&#xff1f;垃圾邮件(短信)过滤算法如何设计&#xff1f;公安办案时&#xff0c;如何判断某嫌疑⼈是否在⽹逃名单中&#xff1f;缓存穿透问…

linux 中 svn 服务器搭建 重启

鉴于在搭建时&#xff0c;参考网上很多资料&#xff0c;网上资料在有用的同时&#xff0c;也坑了很多人 本文的目的&#xff0c;也就是想让后继之人在搭建svn服务器时不再犯错&#xff0c;不再被网上漫天的坑爹作品所坑害&#xff0c;故此总结 /******开始*********/ 系统环境&…

mysql master host_mysql异步备份的有关问题,MASTER_HOST可否指定多个

mysql异步备份的问题&#xff0c;MASTER_HOST可否指定多个&#xff1f;mysql数据库提供了一种主从备份的机制&#xff0c;其实就是把主数据库的所有的数据同时写到备份数据库中。实现mysql数据库的热备份。主库#数据库的id这个应该默认是1就不用改动server-id1#日志文件的名称&…

前端学习(2464):vue中 slot

Slot Slot>内容分发,占位元素 父级模板里的所有内容都是在父级作用域中编译的&#xff1b;子模板里的所有内容都是在子作用域中编译的。Slot分发的内容&#xff0c;作用域是在父组件上1.Vue2.6版本前的旧特性用法 1.1不具名slot 父组件内使用子组件 <children><…

Spring Boot快速入门

安装 安装依赖 maven是一个依赖管理工具&#xff0c;我们利用maven进行构建。创建一个maven项目&#xff0c;在pom.xml里面添加依赖项 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmln…

前端学习(2465):ajax发送请求

原文链接&#xff1a;https://www.cnblogs.com/0x29a/p/11231950.html 1. 创建XMLHttpRequest异步对象 步骤一代码引自&#xff1a;https://www.w3school.com.cn/ajax/ajax_xmlhttprequest_create.asp var xhr; if (window.XMLHttpRequest){// code for IE7, Firefox, Chrome, …