python 3.x 进度条 tkinter 向后?
python 3.x progressbar tkinter backwards?
我正在使用 python 3.4,tkinter,我想使用 progrssbar 来模拟注射器,我的意思是注射器内的液体将是进度条
通常 tkinter python 3.4 中的这个进度条处于水平或垂直位置,我希望它垂直,我知道它开始从底部到顶部填充进度条,这是正确的注射器变得液体
但我的问题是我怎样才能把它倒过来?我的意思是进度条而不是填充注射器
将清空注射器
我正在使用
BarVolVal_1 = ttk.Progressbar(mGui, orient='horizontal', length=100, mode='determinate')
BarVolVal_1.place(x=80,y=80)
BarVolVal_1.start(50)
帮助我只想填充和清空栏
使用Progressbar.start()
,你无法控制步长,默认为1。
因此,您不必使用 Progressbar.start()
,而是创建自己的循环来调用 Progressbar.step(stepsize)
。这样,您可以使步长为负值以反转步长的方向。
在下面的示例中,我创建了一个每 50 毫秒调用一次的 step
函数,并且根据方向 dir
,将步长设置为 1 或 -1(值dir
)。然后在 3 秒后 change_dir
被调用,它将步骤的方向更改为 -1,因此进度条 'empties'。从那时起,方向每 2 秒改变一次。
import tkinter as tk
from tkinter import ttk
def step():
BarVolVal_1.step(dir)
mGui.after(50, step)
def change_dir():
global dir
dir *= -1
mGui.after(2000, change_dir)
mGui = tk.Tk()
dir = 1
BarVolVal_1 = ttk.Progressbar(mGui, orient='horizontal', length=100, mode='determinate')
BarVolVal_1.pack()
step()
mGui.after(3000, change_dir)
mGui.mainloop()
好的,感谢您的帮助,但该代码适用于 2.7,
3.4 的代码就是这个并且可以正常工作
import tkinter as tk
from tkinter import ttk
def step():
BarVolVal_1.step(dir)
mGui.after(50, step)
def change_dir():
global dir
dir *= -1
mGui.after(2000, change_dir)
mGui = tk.Tk()
dir = 1
BarVolVal_1 = ttk.Progressbar(mGui, orient='vertical', length=100, mode='determinate')
BarVolVal_1.pack()
step()
mGui.after(3000, change_dir)
mGui.mainloop()
我正在使用 python 3.4,tkinter,我想使用 progrssbar 来模拟注射器,我的意思是注射器内的液体将是进度条
通常 tkinter python 3.4 中的这个进度条处于水平或垂直位置,我希望它垂直,我知道它开始从底部到顶部填充进度条,这是正确的注射器变得液体
但我的问题是我怎样才能把它倒过来?我的意思是进度条而不是填充注射器 将清空注射器
我正在使用
BarVolVal_1 = ttk.Progressbar(mGui, orient='horizontal', length=100, mode='determinate')
BarVolVal_1.place(x=80,y=80)
BarVolVal_1.start(50)
帮助我只想填充和清空栏
使用Progressbar.start()
,你无法控制步长,默认为1。
因此,您不必使用 Progressbar.start()
,而是创建自己的循环来调用 Progressbar.step(stepsize)
。这样,您可以使步长为负值以反转步长的方向。
在下面的示例中,我创建了一个每 50 毫秒调用一次的 step
函数,并且根据方向 dir
,将步长设置为 1 或 -1(值dir
)。然后在 3 秒后 change_dir
被调用,它将步骤的方向更改为 -1,因此进度条 'empties'。从那时起,方向每 2 秒改变一次。
import tkinter as tk
from tkinter import ttk
def step():
BarVolVal_1.step(dir)
mGui.after(50, step)
def change_dir():
global dir
dir *= -1
mGui.after(2000, change_dir)
mGui = tk.Tk()
dir = 1
BarVolVal_1 = ttk.Progressbar(mGui, orient='horizontal', length=100, mode='determinate')
BarVolVal_1.pack()
step()
mGui.after(3000, change_dir)
mGui.mainloop()
好的,感谢您的帮助,但该代码适用于 2.7,
3.4 的代码就是这个并且可以正常工作
import tkinter as tk
from tkinter import ttk
def step():
BarVolVal_1.step(dir)
mGui.after(50, step)
def change_dir():
global dir
dir *= -1
mGui.after(2000, change_dir)
mGui = tk.Tk()
dir = 1
BarVolVal_1 = ttk.Progressbar(mGui, orient='vertical', length=100, mode='determinate')
BarVolVal_1.pack()
step()
mGui.after(3000, change_dir)
mGui.mainloop()