python进度条控件有哪些属性?如何使用?
发布时间:2022-02-17 11:16 所属栏目:13 来源:互联网
导读:做开发的时候,我们经常会使用到进度条,因此这篇文章想给大家分享关于python进度条控件的使用。主要介绍tkinter进度条控件Progressbar的内容,感兴趣的朋友可以参考学习。 进度条的作用就是提示用户进度信息。可以有两种方式: 1)提示完成度 比如,正在安
做开发的时候,我们经常会使用到进度条,因此这篇文章想给大家分享关于python进度条控件的使用。主要介绍tkinter进度条控件Progressbar的内容,感兴趣的朋友可以参考学习。 进度条的作用就是提示用户进度信息。可以有两种方式: 1)提示完成度 比如,正在安装程序的进度,一般是从0%到100%。 2)提示正在进行处理 比如正在处理数据内容,并不知道何时能够处理完毕。这个时候的进度是提示用户有任务正在进行。此类的提示没有完成度提示,只是进度条来回往复的移动,表示任务正在进行中。 进度条对象是定义在ttk中的,使用的时候需要引入ttk包。 1 属性 属性 描述 cursor 鼠标位于进度条内时的形状 length 进度条长度 maximum 进度条最大刻度值 mode 进度条的模式。有两种:‘determinate'和'indeterminate' orient 进度条的方向,有HORIZONTAL 和VERTICAL两种 style 定义进度条的外观 takefocus 是否可以通过Tab获得输入焦点 variable 与进度条关联的变量。可以设置或获得进度条的当前值 value 设置或者获取进度条的当前值 1.1 cursor 设置鼠标位于进度条内时的形状。具体的鼠标形状说明见3.3.6节。 import tkinter as tk from tkinter import ttk import time def increment(*args): for i in range(100): p1["value"] = i+1 root.update() time.sleep(0.1) root = tk.Tk() root.geometry('320x240') p1 = ttk.Progressbar(root, length=200,cursor='spider', mode="determinate", orient=tk.HORIZONTAL) p1.grid(row=1,column=1) btn = ttk.Button(root,text="Start",command=increment) btn.grid(row=1,column=0) root.mainloop() 结果: 1.2 length 设置进度条长度。默认单位是像素,也可以是其他的单位。详细的单位说明见3.3.1节。 import tkinter as tk from tkinter import ttk import time def increment(*args): for i in range(100): p1["value"] = i+1 root.update() time.sleep(0.1) root = tk.Tk() root.geometry('360x240') p1 = ttk.Progressbar(root, length='2i', mode="determinate", orient=tk.HORIZONTAL) p1.grid(row=1,column=1) btn = ttk.Button(root,text="Start",command=increment) btn.grid(row=1,column=0) root.mainloop() 说明:长度是'2i',表示是2英寸长。 1.3 maximum 定义进度条的最大刻度。默认值是100。 import tkinter as tk from tkinter import ttk import time def increment(*args): for i in range(100): p1["value"] = i+1 root.update() time.sleep(0.1) root = tk.Tk() root.geometry('320x240') p1 = ttk.Progressbar(root, length=200, mode="determinate", maximum=200,orient=tk.HORIZONTAL) p1.grid(row=1,column=1) btn = ttk.Button(root,text="Start",command=increment) btn.grid(row=1,column=0) root.mainloop() 结果: 说明:进度条的最大刻度设为200,而在increment()回调函数中,只更新进度条的数值到100。当循环完成之后,进度条只更新了50%的刻度。 1.4 mode 设置进度条的模式。进度条有两种模式:‘determinate'和'indeterminate' (1)determinate 对于'determinate'的模式,在程序的控制下,进度条的指示会从0开始,移动到最大刻度,然后停止。这种情况用于知道确切的进度数据。比如读取文件,是知道文件的大小的,可以用百分比来显示完成程度。 (2)indeterminate 对于'indeterminate',进度条的刻度是往复运动,表示某个处理过程正在进行中。这种情况用于不知道确切的进度数据,也就是说,不知道完成的状况。比如查询数据库返回大量的结果,程序事先无法确认会返回多少的结果。 import tkinter as tk from tkinter import ttk import time def increment(*args): p1.start() root = tk.Tk() root.geometry('320x240') p1 = ttk.Progressbar(root, length=200, mode="indeterminate", maximum=200,orient=tk.HORIZONTAL) p1.grid(row=1,column=1) btn = ttk.Button(root,text="Start",command=increment) btn.grid(row=1,column=0) root.mainloop() 说明:indeterminate的调用方式是使用进度条控件的start()方法。 1.5 orient 设置进度条的方向,有两种格式:水平(HORIZONTAL)和垂直(VERTICAL)。 1.6 style 设置进度条的外观。具体的用法见23.2节。 1.7 takefocus 设置进度条是否可以获得输入焦点。 1.8 variable 和进度条有关的一个变量IntVar(),可以用来设置或者获取进度条当前的数值。 1.9 value 进度条当前的数值。 2 函数 2.1 start(interval=None) 函数 描述 start(interval=None) 自动调整进度条的位置。通过启动一个循环定时事件,按照定义的步长调整进度条位置。定时器的间隔由interval参数来设定。间隔单位是毫秒.默认间隔是50毫秒。 step(amount=None) 每次调整进度条的步长,默认是1.0 stop() 停止定时器,停止进度条的自动调整 开始自动调整进度条,默认时间间隔是50毫秒。自动调整是依靠启动一个可循环的定时器实现的。每次的调整步长由step()函数实现。 2.2 step(amount=None) 定义每次调整进度条的步长。默认是1.0,可以通过设置amount设置其他数值。 2.3 stop 停止进度条的调整。 import tkinter as tk from tkinter import ttk import time def start(*args): p1.start(30) def stop(*args): value=p1['value'] p1.stop() p1['value']=value root = tk.Tk() root.geometry('320x240') p1 = ttk.Progressbar(root, length=200, mode="indeterminate", orient=tk.HORIZONTAL) p1.grid(row=1,column=0,columnspan=2) btn_start = ttk.Button(root,text="开始", command=start,width=10) btn_start.grid(row=0,column=0) btn_stop = ttk.Button(root,text="停止", command=stop,width=10) btn_stop.grid(row=0,column=1) root.mainloop() 关于python进度条控件的介绍就到这,文本对tkinter进度条控件Progressbar的使用有详细的介绍,具有一定的借鉴价值,需要的朋友了解一下,希望文本对大家了解tkinter进度条控件的使用有帮助。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读