Сейчас я занят созданием графического интерфейса для моего проекта.Это также нуждается в проверке, основанной на времени.Однако, когда я нажимаю кнопку запуска, счетчик начинает отсчет, но графический интерфейс останавливается, поэтому вы не можете нажать кнопку остановки.И в конце концов Программа остановилась и закрылась.
Посмотрите на мой код:
###import libaries ###
from guizero import *
import tkinter as tk
import time
timeLoop = False
###Variabelen###
Sec = 0
Min = 0
Hour = 0
test_stat = 0
###Define Loops###
def verlaat_settings():
window2.hide()
window3.hide()
window4.hide()
window.show(wait=True)
def stop_test():
info("test_result","Test stopped at" + str(Hour) + " Hour " + str(Min) + " Mins " + str(Sec) + " Sec ")
text_test.value = "Test Stopped..."
timeLoop: False
def test_loopt():
global Sec
global Min
text_test.value = "Test is running....."
timeLoop = True
while timeLoop:
Sec +=1
print(str(Min) + " Mins " + str(Sec) + " Sec ")
time.sleep(1)
if Sec == 60:
Sec = 0
Min += 1
app= App(title="Profiberry",layout="",width=480, height=272)
window3 = Window(app,title="Profiberry-Tester", layout="grid",width=480, height=272)
window3.show
###Window3###
welkom_tester= Text(window3, text="Profibus Tester",grid=[2,0,1,1])
Plaatje_profi= Picture(window3,image="logoprofi.gif",grid=[2,1,1,1])
lege_ruimte1 = Text(window3, text="", grid=[2,2,1,1])
text_test= Text(window3,text=" Waiting for input..... ",grid=[2,3,1,1])
timer_test= Text(window3,text=(""),grid=[2,4,1,1] )
lege_ruimte2 = Text(window3, text="", grid=[2,5,1,1])
lege_ruimte2 = Text(window3, text="", grid=[1,6])
Start_knop= PushButton(window3,text="Start",command=test_loopt,padx=50, pady=10, grid=[1,6] )
Start_knop.tk.config(foreground="white",background="green")
Stop_knop= PushButton(window3,text="Stop",command=stop_test,padx=50,pady=10,grid=[3,6])
Stop_knop.tk.config(foreground="white",background="red")
Exit_setting = PushButton(window3,command=verlaat_settings,text="Exit to Main Menu(F2)",padx=30,pady=10,grid=[2,6])
Я расскажу вам об этой части моей программы:
- Импортируйте библиотеки, используемые для этой цели.
- Дайте timeLoop, нашей переменной while, ложное состояние.
- Дайте значение нашей переменной.
- Ниже приведены наши циклы Def *. 1015 * используется для перемещения окон желоба в графическом интерфейсе.
Stop_test
используется для выполнения действий при нажатии кнопки Stop (также для сброса состояния while). test_loopt
- фактическое значение.тест, счетчик должен запустить здесь то, что он делает в оболочке. - Ниже мы открываем окно и размещаем виджеты.