Schleife mit Thread mit Button beenden
Verfasst: Montag 28. Februar 2022, 11:21
Hallo zusammen, bin gerade dabei eine Netzwerktestung mit Python zu automatisieren und benutze dazu fping. In meiner GUI starte ich mit dem Start Button eine funktion die fping immer wieder aufruft und einige Pakete senden lässt. Wie kann ich jetzt diese Schleife beenden? Ich packe unten mal auszugsweise den Code dazu.
Danke schon mal für die Hilfe, ich bin ziemlich neu im Programmieren und schlag mich jetzt schon ne ganze Weile damit rum
Code: Alles auswählen
class meinThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
fping(stop)
stop = False
def startButton():
startButton.config(state=DISABLED)
t1 = meinThread()
t1.start()
def stopButton():
checkForStop()
def endButton():
pass
def fping(stop):
while stop == False:
command = 'Fping 192.168.1.10 -t 5 -s 500 -n 5 -L output.txt'
process = subprocess.Popen(command, shell=True)
def checkForStop():
global stop
stop = True
startButton = Button(window,text="Start",
relief='flat',background=bg,
fg='white',
width=10,
font=labelFont,
activebackground="#666666",
activeforeground='white',
command=startButton)
stopButton = Button(window,text="Stop",
relief='flat',background=bg,
fg='white',
width=10,
font=labelFont,
activebackground="#666666",
activeforeground='white',
command=stopButton)
beendenButton = Button(window,text="Beenden",
relief='flat',background=bg,
fg='white',
width=10,
font=labelFont,
activebackground="#666666",
activeforeground='white'
)