⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 progressbar.py

📁 Python.Tkinter编程实例代码多多学习
💻 PY
字号:
"""A  basic widget for showing the progressbeing made in a task."""from Tkinter import *class ProgressBar:    def __init__(self, master=None, orientation="horizontal",                 min=0, max=100, width=100, height=18,                 doLabel=1, appearance="sunken",		 fillColor="blue", background="gray",                 labelColor="yellow", labelFont="Verdana",                 labelText="", labelFormat="%d%%",                 value=50, bd=2):	# preserve various values	self.master=master	self.orientation=orientation	self.min=min	self.max=max	self.width=width	self.height=height	self.doLabel=doLabel	self.fillColor=fillColor        self.labelFont= labelFont	self.labelColor=labelColor	self.background=background	self.labelText=labelText	self.labelFormat=labelFormat	self.value=value	self.frame=Frame(master, relief=appearance, bd=bd)	self.canvas=Canvas(self.frame, height=height, width=width, bd=0,                           highlightthickness=0, background=background)	self.scale=self.canvas.create_rectangle(0, 0, width, height,						fill=fillColor)	self.label=self.canvas.create_text(self.canvas.winfo_reqwidth() / 2,					   height / 2, text=labelText,					   anchor="c", fill=labelColor,					   font=self.labelFont)	self.update()	self.canvas.pack(side='top', fill='x', expand='no')    def updateProgress(self, newValue, newMax=None):        if newMax:            self.max = newMax        self.value = newValue        self.update()    def update(self):	# Trim the values to be between min and max	value=self.value	if value > self.max:	    value = self.max	if value < self.min:	    value = self.min	# Adjust the rectangle	if self.orientation == "horizontal":	    self.canvas.coords(self.scale, 0, 0,		     float(value) / self.max * self.width, self.height)	else:	    self.canvas.coords(self.scale, 0,                     self.height - (float(value) / self.max*self.height),		     self.width, self.height)	# Now update the colors	self.canvas.itemconfig(self.scale, fill=self.fillColor)	self.canvas.itemconfig(self.label, fill=self.labelColor)	# And update the label	if self.doLabel:            if value:                if value >= 0:                    pvalue = int((float(value) / float(self.max)) * 100.0)                else:                    pvalue = 0                self.canvas.itemconfig(self.label, text=self.labelFormat % pvalue)            else:                self.canvas.itemconfig(self.label, text='')	else:	    self.canvas.itemconfig(self.label, text=self.labelFormat % self.labelText)	self.canvas.update_idletasks()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -