如何 link python 程序和 tkinter window 之间的进度条?
How to link a Progressbar between a python program and a tkinter window?
我在一个文件夹中有两个 .py 文件(Main_program.py 和 HMI.py)。第一个是包含一个大循环(递增)的代码,开头有一个打印,显示代码执行的演变(10%、20% 等)。第二个文件是一个界面,其中包含一个执行 Main_program.py 的按钮。我想在我的界面中创建一个进度条,该进度条将链接到第一个代码中打印的演变。但是我们该怎么做呢?非常感谢。
HMI.py :
import tkinter
from tkinter import *
from tkinter import ttk
from Main_program import run_progessbar
...
root = Tk()
...
jj=0
progessBar = ttk.Progressbar(root, orient="horizontal",length=170,
style='black.Horizontal.TProgressbar',
mode='determinate', variable=jj)
progessBar.place(x=1060,y=180
...
Main_program.py :
def run_progessbar():
import numpy as np
import matplotlib
...
global jj #without function here jj=0
while ii > 0 and ii <= np.floor(count / Nbtot):
if np.remainder(ii,Ni / (10*Nbtot)) == 0:
jj=jj + 10
print(str(jj)+'%')
...
ii=ii+1
#in the shell
global jj
SyntaxError: name 'jj' is used prior to global declaration
摩押,
你试过这样的东西了吗?
jj = 0
self.progessBar = ttk.Progressbar(self.frame, orient="horizontal",
length=286, mode="determinate",
value=jj).pack(pady=10)
def run_progessbar(self):
global jj
while ii > 0 and ii <= np.floor(count / Nbtot):
...
jj=jj + 10
print(str(jj)+'%')
...
ii=ii + 1
我找到了两个有用的链接:
我在一个文件夹中有两个 .py 文件(Main_program.py 和 HMI.py)。第一个是包含一个大循环(递增)的代码,开头有一个打印,显示代码执行的演变(10%、20% 等)。第二个文件是一个界面,其中包含一个执行 Main_program.py 的按钮。我想在我的界面中创建一个进度条,该进度条将链接到第一个代码中打印的演变。但是我们该怎么做呢?非常感谢。
HMI.py :
import tkinter
from tkinter import *
from tkinter import ttk
from Main_program import run_progessbar
...
root = Tk()
...
jj=0
progessBar = ttk.Progressbar(root, orient="horizontal",length=170,
style='black.Horizontal.TProgressbar',
mode='determinate', variable=jj)
progessBar.place(x=1060,y=180
...
Main_program.py :
def run_progessbar():
import numpy as np
import matplotlib
...
global jj #without function here jj=0
while ii > 0 and ii <= np.floor(count / Nbtot):
if np.remainder(ii,Ni / (10*Nbtot)) == 0:
jj=jj + 10
print(str(jj)+'%')
...
ii=ii+1
#in the shell
global jj
SyntaxError: name 'jj' is used prior to global declaration
摩押,
你试过这样的东西了吗?
jj = 0
self.progessBar = ttk.Progressbar(self.frame, orient="horizontal",
length=286, mode="determinate",
value=jj).pack(pady=10)
def run_progessbar(self):
global jj
while ii > 0 and ii <= np.floor(count / Nbtot):
...
jj=jj + 10
print(str(jj)+'%')
...
ii=ii + 1
我找到了两个有用的链接: