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+进度条代码大全的更多相关文章

  1. python3 简单进度条代码

    进度条代码函数实现 import sys, time class ShowProcess(object): """ 显示处理进度的类 调用该类相关函数即可实现处理进度的显 ...

  2. python3如何打印进度条

    Python3 中打印进度条(#)信息: 代码: import sys,time for i in range(50): sys.stdout.write("#") sys.std ...

  3. js进度条源码下载—js进度条代码

    现在很多网站会用到进入网站特效,到网页没有加载完成的时候,会有一个loding特效,加载完了之后才能看到页面,今天就带着做一个js进度条效果,今天要做的效果是纯js进度条加载,没有用到框架,方便大家进 ...

  4. python进度条代码

    import sys import time def view_bar(num,total): rate = num / total rate_num = int(rate * 100) r = ' ...

  5. div+css进度条

    效果图: 进度条代码: <style type="text/css"> 红色:background-color:f05153:border:1px solid #f05 ...

  6. 一个Notification 进度条插件(android,NJS实现,直接就可使用)

    参考文章:http://ask.dcloud.net.cn/article/503 源码地址下载 如题,分享一个Notification 进度条插件(android,用js调用原生api实现,直接就可 ...

  7. asp.net 的一个简单进度条功能

    我们先看下效果 我点击了按钮后他会显示进度页面,进度完成后,进度条消失,其实也是比较简单的了. 我们需要一个进度条代码文件ProgressBar.htm(注意:是没有head这些标签的) <sc ...

  8. Bootstrap 警告、进度条、列表组、面板

    摘要:该部分包括警告.进度条.列表组.面板等部分. 1.警告(alert) 1.1 基本的警告(.alert) 警告的基类是 .alert .和其他样式类一块使用.例如: .alert-success ...

  9. h5实现手机端等级进度条

    h5实现等级进度条 需求如下: 实现一个动画进度条,页面一打开实现一个进度条动画,因为App这个页面会经常改,所以没有使用原审Android或者IOS来实现,希望通过H5来做: 服务器端返回如下数据: ...

随机推荐

  1. 三值的排序 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 ...

  2. ansible笔记(1):ansible基本概念

    一.基础概念 1.ansible是什么? ansible是一个配置管理工具,是一个自动化运维工具. 2.ansible能做什么? 它可以完成一组批量化的工作任务,或者经常重复性的工作任务.例如:a.在 ...

  3. CDH安装错误集锦

      CDH安装过程中出现的错误 1.iptables: /sbin/iptables 不存在 我是因为误删将 /sbin/下的文件删除了. 解决方法: yum install iptables 2.c ...

  4. Java进阶学习(4)之继承与多态(下)

    多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...

  5. pgspider http fdw http 相关的几个配置参数

    http 请求时间配置 session 级别的 set http.timeout_msec = 10000; SELECT http_set_curlopt('CURLOPT_TIMEOUT', '1 ...

  6. 508,css优先级算法如何计算?

    优先级就近原则,同权情况下样式定义最近者为准 载入样式以最后载入的定位为准 优先级:!important>id > class >tag;  !important比内联优先级高 (百 ...

  7. C 语言实例 - 判断三边能否构成三角形

    原理: 要判断输入的三条边能否够成三角形,只需满足条件两边之和大于第三边即可. #include<stdio.h> int main() { printf("请输入三个边长:\n ...

  8. ajax请求无法下载文件的原因

    原因: Ajax下载文件的这种方式本来就是禁止的.出于安全因素的考虑,javascript是不能够保存文件到本地的, 所以ajax考虑到了这点,只是接受json,text,html,xml格式的返回值 ...

  9. 线上BUG定位神器(阿尔萨斯)-Arthas2019-0801

    1.下载这个jar 2.运行这个jar 3.选取你需要定位的问题应用进程 然后各种trace -j xx.xxx.xx.className methodName top -n 3 这个后面要补充去看, ...

  10. 图片上传至/target/upload目录下后,通过ip:port/upload/无法访问

    做以下配置即可 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { try { registry ...