运行程序时,我触发了sfc / scannow,并且进度条没有出现,但是只有程序冻结,直到sfc scannow完成其工作。
图片-https://imgur.com/a/tVG8Qoz
我试图更改他们的位置,但是不起作用
def sfcScannow(事件):
sfcWindow = Toplevel()
sfcWindow.title("Сканирование системы")
sfcWindow.minsize(350,480)
sfcWindow.maxsize(350,480)
sfcWindow['bg'] = '#fff2fe'
pb = ttk.Progressbar(sfcWindow, length=300, mode ="indeterminate")
msg = Label(sfcWindow, width=30, height=4, fg="#691962", relief="ridge", font="Intro 15", text="Начато сканирование")
msg2 = Label(sfcWindow, width=30, height=3, fg="#691962", relief="ridge", font="Intro 13", text="About UsefulTech.")
msg3 = Button(sfcWindow, width=30, height=3, fg="#691962", relief="ridge", font="Intro 16", text="Информация")
def InformSFC(event):
mb.askyesno(title="Информация", message="Данная функция отвечает за проверку системных файлов, используя функцию Windows 'sfc /scannow'. Процесс может занимать более 20 минут и шкала процесса, не точно расчитана. Лучше ждать > 30 минут")
msg3.bind("<Button-1>", InformSFC)
msg.pack()
msg2.pack()
msg3.pack()
pb.pack(side="bottom")
pb.start()
os.system("sfc /scannow")
在测试过程中,进度条应该正常工作,并且在测试完成后,它应该停止
答案 0 :(得分:0)
答案
def sfcscannow():
os.system("sfc /scannow")
def prb():
pb.pack(side="bottom")
pb.start()
def StartScan(event):
mb.askyesno(title="Информация", message="Проверка начата")
t1 = threading.Thread(target=prb)
t2 = threading.Thread(target=sfcscannow)
t1.start()
t2.start()