具体代码如下:

import tkinter as tk
from tkinter import ttk
import threading
import timedef formatForm(form, width, heigth):"""设置居中显示"""# 得到屏幕宽度win_width = form.winfo_screenwidth()# 得到屏幕高度win_higth = form.winfo_screenheight()# 计算偏移量width_adjust = (win_width - width) / 2higth_adjust = (win_higth - heigth) / 2form.geometry("%dx%d+%d+%d" % (width, heigth, width_adjust, higth_adjust))class LoadingBar(object):def __init__(self, width=200):# 存储显示窗体self.__dialog = None# 记录显示标识self.__showFlag = True# 设置滚动条的宽度self.__width = width# 设置窗体高度self.__heigth = 20def show(self, speed=10, sleep=0):"""显示的时候支持重置滚动条速度和标识判断等待时长"""# 防止重复创建多个if self.__dialog is not None:return# 线程内读取标记的等待时长(单位秒)self.__sleep = sleep# 创建窗体self.__dialog = tk.Toplevel()# 去除边框self.__dialog.overrideredirect(-1)# 设置置顶self.__dialog.wm_attributes("-topmost", True)formatForm(self.__dialog, self.__width, self.__heigth)# 实际的滚动条控件self.bar = ttk.Progressbar(self.__dialog, length=self.__width, mode="indeterminate",orient=tk.HORIZONTAL)self.bar.pack(expand=True)# 数值越小,滚动越快self.bar.start(speed)# 开启新线程保持滚动条显示t = threading.Thread(target=self.waitClose)t.setDaemon(True)t.start()def waitClose(self):# 控制在线程内等待回调销毁窗体while self.__showFlag:time.sleep(self.__sleep)# 非空情况下销毁if self.__dialog is not None:self.__dialog.destroy()# 重置必要参数self.__dialog = Noneself.__showFlag = Truedef close(self):# 设置显示标识为不显示self.__showFlag = Falseloading = LoadingBar()if __name__ == '__main__':root = tk.Tk()root.title('Loading滚动条演示')formatForm(root, 400, 300)# 展示滚动条,指定速度loading.show(speed=5)tk.Button(root, text='关闭滚动条', command=loading.close).pack(side=tk.TOP)tk.Button(root, text='开启滚动条', command=loading.show).pack(side=tk.TOP)root.mainloop()

运行界面截图:

存在错误的话,欢迎留言指正,谢谢!

使用tkinter实现 loading 等待效果相关推荐

  1. Android开发loading等待效果,DialogLoadding

    DialogLoadding 长期维护的Android项目,里面包括常用功能实现,以及知识点详解, 当然还有Java中的知识点. Android利器 开源项目: 具体请看github:https:// ...

  2. C#.Net网页加载等待效果漂亮并且简单

    最近网页加载数据比较多,点击后给用户就是白板很不友好,想了很久找了些资料,在网页加载中显示等待画面给客户,页面加载完成自动隐藏等待效果. 在网页后台cs代码:     protected void P ...

  3. android Loading动画效果

    Android  Loading动画效果 现在项目不是很忙,所以想不能闲着,研究一下大神们是如何实现等待框中的动画显示的,之前看着效果那么帅,那么酷.比猫画虎的写了写代码. 首先在res文件夹下新建一 ...

  4. ajax上传等待效果,ajax等待服务器响应添加等待效果

    ajax等待服务器响应添加等待效果 内容精选 换一换 删除备份.删除操作为异步操作,删除操作会根据后台执行任务的情况进行排队,所以不会立即完成删除,需要通过不断查询删除任务信息获取删除结果,时间最长耗 ...

  5. Response 输出文件流过程中的等待效果

    大家在写程序过程中应该会遇到这样的问题,就是我们需要导出excel,当我们往excel写数据的时候,如果数据量较大的话,这个过程可能需要花些时间. 这个时候我们不能说让用户点完导出按钮后就在那边傻等, ...

  6. Leaflet中使用Leaflet.Spin插件实现地图加载等待效果

    场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上,怎样使用插件实现地图加载等待 ...

  7. [css] 使用css实现一个loading的效果

    [css] 使用css实现一个loading的效果 <div class="donut"></div> @Keyframes donut-spin {0% ...

  8. [Swift通天遁地]五、高级扩展-(11)图像加载Loading动画效果的自定义和缓存

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  9. 游戏底特律:变人Loading动画效果实现

    1.需求描述 上周接到个好玩的任务,就是模仿游戏底特律人的loading动画效果,原始视频如下: 2.实现难点分析与概括: 由上面视频可以看出,此效果难点主要在缝隙的圆弧处理和缝隙的运动规律上.缝隙处 ...

最新文章

  1. GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考
  2. linux查看系统的日志的一些实用操作
  3. 华为ipd产品开发流程_亲历华为IPD变革是怎样一种体验|附完整版培训教材
  4. 下载 | 李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT
  5. 备份恢复linux,备份和恢复Linux系统
  6. 【计算机科学基础】计算机不需要整数减法器的原因
  7. 基于 Vue 的移动端富文本编辑器 vue-quill-editor 实战
  8. MySQL的crash-safe原理详解
  9. linux查看日志文件内容命令tail、cat、tac、head、echo、vi
  10. P1091 合唱队形
  11. 最新log4j2 远程代码执行漏洞(紧急扩散)
  12. 《Spring1之 第一次站立会议(重发)》
  13. 配置rc.local开机自启动文件的疑问?
  14. 国产手机的18年历史
  15. php如何去除文件扩展名,php怎样去除文件后缀名
  16. 专用计算机的运行速度,WIN10专业版下电脑运行速度慢多个解决技巧
  17. 日志-坑-keng-rz-rizhi-log
  18. 教育行业数据防泄密解决方案
  19. 微信公众号自定义菜单如何添加特殊符号?
  20. Safari下弹窗被拦截 问题

热门文章

  1. 操作系统--01计算机系统概述
  2. 浅谈JdbcDaoSupport
  3. 慎用create table as select,一定要注意默认值的问题
  4. 什么相片可以两张弄成一张_ps怎么把两张图片合成一张
  5. /usr/bin/ld: /tmp/ccIHWHTn.o: in function `Cdisk::Cdisk()‘:编译报错解决方案
  6. 计算机系学生橱窗分析结果怎么写,2015年高职学生职业生涯规划书
  7. 微信小程序使用阿里云物联网API开发物联网应用
  8. 阿里云国际站:阿里云服务器遇到了CC攻击怎么处理防护措施?
  9. iOS录屏直播(一)初识ReplayKit
  10. 大厂社区、知名技术博主,学习连接看这里,全!!!