ich habe ein Python Skript/Programm geschrieben, dass eine GUI entält über die Funktion starten lasse, die Werte über I2C in einen DAC schreiben. Der DAC steuert Laser Scanner.
Eine Funktion lässt eine Schleife ablaufen, die zwei While-Schleifen enthält welche ich gerne durch drücken einen anderen Buttons abrechen bzw. im Ideal-Fall nur pausieren und danach weiterführen möchte.
Ich habe mir ein kleines Programm gebastelt, dass eine GUI mit zwei Buttons enthält. Der eine Button startet eine einfache Zähl-Schleife und der zweite soll diese Anhalten.
Wie stelle ich das am besten an? Ach ja ich beschäftige mich erst seit gut zwei Wochen mit Python und meine letzten Programmiererfahrung sind locker 5 Jahre her.
Code: Alles auswählen
import time
from tkinter import *
from _thread import start_new_thread
def p1():
k=6000
while k <=56001:
if B2 is True: # das klappt nicht aber keine AHnung wie sonst
break
print ("k=",k)
k=k+10000
time.sleep(1.5)
i=6000
def th():
start_new_thread(p1, (), {})
def nope():
quit(p1) # beendet die GUI
root = Tk()
rightFrame = Frame(root, width=600, height = 600, bg="#000000")
rightFrame.grid(row=0, column=3, padx=10, pady=10)
buttonFrame = Frame(rightFrame)
buttonFrame.grid(row=1, column=0, padx=10, pady=3)
B1 = Button(buttonFrame, text="start count", bg="#32cd32", width=15, command=th)
B1.grid(row=0, column=0, padx=10, pady=3)
B2 = Button(buttonFrame, text="break", bg="#32cd32", width=15, command=nope)
B2.grid(row=0, column=10, padx=10, pady=3)
root.mainloop()
Ich bin seit gut zwei Tagen am googlen und testen aber noch keine Lösung gefunden