python3.8+PySimpleGUI+进度条代码大全
1.python3.8+PySimpleGUI+进度条大全
2.效果图:

3.代码:
#导出模块
import PySimpleGUI as sg
import time
import inspect
from progress.bar import IncrementalBar #-----------登录界面,第1个窗口------------
def Denglu(): #登录界面,第1个窗口
layout = [
[sg.Text('账号:'),sg.Input(size=(20,1),key=('k1'))],
[sg.Text('密码:'),sg.Input(size=(20,1),key=('k2'),password_char='*')],
[sg.Submit(),sg.Cancel()],
] window = sg.Window('登录界面', layout)
event, values = window.read() while True:
if event == 'Cancel' or event == None: #成功
window.close()
break
elif event =='Submit':
if values['k1']=='admin' and values['k2']=='':
#这是指定账号和密码的,如果注册后,再从注册后的txt中调出,来判断?
sg.Popup('登录成功!')
window.close()
ZhuMain() break
else:
sg.Popup('请输入正确的账号和密码,否则退出。')
break window.close() #-------------定义进度条的代码及函数----------- #---定义函数:进度条1---
def Pb1(): #Pb=progress bar=进度条
import time
from progress.bar import IncrementalBar mylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar('进度条1', max = len(mylist)) #len是测列表数据的个数,8个 for item in mylist:
bar.next()
time.sleep(0.1) #延迟时间,0.1~1,之间比较好 bar.finish() #---定义函数:进度条2---
def Pb2():
from progress.bar import Bar
import time bar = Bar('Loading', fill='~', suffix='%(percent)d%%') #fill里面可以填充自己喜欢的符号 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() #---定义函数:进度条3---
def Pb3():
from progress.bar import Bar
import time bar = Bar('进度条3', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() #---定义函数:进度条4---
def Pb4():
from progress.bar import ChargingBar
import time bar = ChargingBar('进度条4', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() #---定义函数:进度条5---
def Pb5():
from progress.bar import FillingSquaresBar
import time bar = FillingSquaresBar('进度条5', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() #---定义函数:进度条6---
def Pb6():
from progress.bar import FillingCirclesBar
import time bar = FillingCirclesBar('进度条6', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() def Pb7():
from progress.bar import IncrementalBar
import time bar = IncrementalBar('进度条7', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() def Pb8():
from progress.bar import PixelBar
import time bar = PixelBar('进度条8', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() def Pb9():
from progress.bar import ShadyBar
import time bar = ShadyBar('进度条9', max=100) #max的值100,可调节 for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() def Pb10():
from progress.spinner import Spinner
#from progress.spinner import MoonSpinner
#from progress.spinner import PieSpinner
#from progress.spinner import PixelSpinner
#from progress.spinner import LineSpinner import time bar = Spinner('进度条10', max=100) #max的值100,可调节
#bar = MoonSpinner('进度条10', max=100)
#bar = PieSpinner('进度条10', max=100)
#bar = PixelSpinner('进度条10', max=100)
#bar = LineSpinner('进度条10', max=100) for i in range(100): #这个也需要适当调节
bar.next()
time.sleep(0.1) #延迟时间,可调节,0.1~1之间最佳 bar.finish() def Pb11():
from alive_progress import alive_bar
import time items = range(100) with alive_bar(len(items)) as bar:
for item in items:
bar()
time.sleep(0.1) def Pb12():
import PySimpleGUI as sg
import time mylist = [1,2,3,4,5,6,7,8] for i, item in enumerate(mylist):
sg.one_line_progress_meter('进度条12', i+1, len(mylist), '-key-')
time.sleep(1) #时间选择1最好,因为8个有点短 def Pb13(): #经典,整合后出现在GUI界面上
import PySimpleGUI as sg
import time mylist = [1,2,3,4,5,6,7,8]
progressbar = [ [sg.ProgressBar(len(mylist), orientation='h', size=(51, 10), key='progressbar')]]
outputwin = [ [sg.Output(size=(78,20))]]
layout = [ [sg.Frame('Progress',layout= progressbar)], [sg.Frame('Output', layout = outputwin)], [sg.Submit('Start'),sg.Cancel()]] window = sg.Window('Custom Progress Meter', layout) progress_bar = window['progressbar'] while True:
event, values = window.read(timeout=10)
if event == 'Cancel' or event is None:
break
elif event=='Start':
for i,item in enumerate(mylist):
print(item)
time.sleep(1)
progress_bar.UpdateBar(i+1) window.close() # -------------------------------- GUI Starts Here -------------------------------#
# fig = your figure you want to display. Assumption is that 'fig' holds the #
# information to display. #
# --------------------------------------------------------------------------------#
#主窗口界面设计
def ZhuMain():
fig_dict = {'进度条1':Pb1,'进度条2':Pb2,'进度条3':Pb3,'进度条4':Pb4,'进度条5':Pb5,
'进度条6':Pb6,'进度条7':Pb7,'进度条8':Pb8,'进度条9':Pb9,'进度条10':Pb10,
'进度条11':Pb11,'进度条12':Pb12,'进度条13':Pb13} sg.theme('LightGreen') #主题背景设计,默认银河灰 # define the form layout
listbox_values = list(fig_dict) col_listbox = [
[sg.Listbox(values=listbox_values, enable_events=True, size=(28, len(listbox_values)), key='-LISTBOX-')],
[sg.Text('★' * 15)],
[sg.Exit(size=(5, 2))]
] #布局
layout = [
[sg.Text('最全进度条及代码整理', font=('current 10'))],
[sg.Col(col_listbox, pad=(5, (3, 330))),
sg.MLine(size=(50, 30), pad=(5, (3, 90)), key='-MULTILINE-')] ,#第2行有3个布局 ] # create the form and show it without the plot
window = sg.Window('Python3下的最全的进度条整理', layout, grab_anywhere=False, finalize=True) # The GUI Event Loop
while True:
event, values = window.read()
# helps greatly when debugging
if event in (None, 'Exit'): # if user closed window or clicked Exit button
break choice = values['-LISTBOX-'][0] # get first listbox item chosen (returned as a list)
func = fig_dict[choice] # get function to call from the dictionary
window['-MULTILINE-'].update(inspect.getsource(func)) # show source code to function in multiline window.close() if __name__ == '__main__':
Denglu()
python3.8+PySimpleGUI+进度条代码大全的更多相关文章
- python3 简单进度条代码
进度条代码函数实现 import sys, time class ShowProcess(object): """ 显示处理进度的类 调用该类相关函数即可实现处理进度的显 ...
- python3如何打印进度条
Python3 中打印进度条(#)信息: 代码: import sys,time for i in range(50): sys.stdout.write("#") sys.std ...
- js进度条源码下载—js进度条代码
现在很多网站会用到进入网站特效,到网页没有加载完成的时候,会有一个loding特效,加载完了之后才能看到页面,今天就带着做一个js进度条效果,今天要做的效果是纯js进度条加载,没有用到框架,方便大家进 ...
- python进度条代码
import sys import time def view_bar(num,total): rate = num / total rate_num = int(rate * 100) r = ' ...
- div+css进度条
效果图: 进度条代码: <style type="text/css"> 红色:background-color:f05153:border:1px solid #f05 ...
- 一个Notification 进度条插件(android,NJS实现,直接就可使用)
参考文章:http://ask.dcloud.net.cn/article/503 源码地址下载 如题,分享一个Notification 进度条插件(android,用js调用原生api实现,直接就可 ...
- asp.net 的一个简单进度条功能
我们先看下效果 我点击了按钮后他会显示进度页面,进度完成后,进度条消失,其实也是比较简单的了. 我们需要一个进度条代码文件ProgressBar.htm(注意:是没有head这些标签的) <sc ...
- Bootstrap 警告、进度条、列表组、面板
摘要:该部分包括警告.进度条.列表组.面板等部分. 1.警告(alert) 1.1 基本的警告(.alert) 警告的基类是 .alert .和其他样式类一块使用.例如: .alert-success ...
- h5实现手机端等级进度条
h5实现等级进度条 需求如下: 实现一个动画进度条,页面一打开实现一个进度条动画,因为App这个页面会经常改,所以没有使用原审Android或者IOS来实现,希望通过H5来做: 服务器端返回如下数据: ...
随机推荐
- 三值的排序 Sorting a Three-Valued Sequence(洛谷 P1459USACO2.1,IOI96Day2)
Sorting a Three-Valued Sequence IOI'96 - Day 2 Sorting is one of the most frequently performed compu ...
- ansible笔记(1):ansible基本概念
一.基础概念 1.ansible是什么? ansible是一个配置管理工具,是一个自动化运维工具. 2.ansible能做什么? 它可以完成一组批量化的工作任务,或者经常重复性的工作任务.例如:a.在 ...
- CDH安装错误集锦
CDH安装过程中出现的错误 1.iptables: /sbin/iptables 不存在 我是因为误删将 /sbin/下的文件删除了. 解决方法: yum install iptables 2.c ...
- Java进阶学习(4)之继承与多态(下)
多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...
- pgspider http fdw http 相关的几个配置参数
http 请求时间配置 session 级别的 set http.timeout_msec = 10000; SELECT http_set_curlopt('CURLOPT_TIMEOUT', '1 ...
- 508,css优先级算法如何计算?
优先级就近原则,同权情况下样式定义最近者为准 载入样式以最后载入的定位为准 优先级:!important>id > class >tag; !important比内联优先级高 (百 ...
- C 语言实例 - 判断三边能否构成三角形
原理: 要判断输入的三条边能否够成三角形,只需满足条件两边之和大于第三边即可. #include<stdio.h> int main() { printf("请输入三个边长:\n ...
- ajax请求无法下载文件的原因
原因: Ajax下载文件的这种方式本来就是禁止的.出于安全因素的考虑,javascript是不能够保存文件到本地的, 所以ajax考虑到了这点,只是接受json,text,html,xml格式的返回值 ...
- 线上BUG定位神器(阿尔萨斯)-Arthas2019-0801
1.下载这个jar 2.运行这个jar 3.选取你需要定位的问题应用进程 然后各种trace -j xx.xxx.xx.className methodName top -n 3 这个后面要补充去看, ...
- 图片上传至/target/upload目录下后,通过ip:port/upload/无法访问
做以下配置即可 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { try { registry ...