scheinbar habe ich hier Murx programmiert.
Aber wie würde man es richtig machen?
Wie kann ich aus dem Callback heraus functions sowohl in c1 als auch c2 aufrufen?
In dem Beispiel passiert beim drücken von "1" mal garnix, nicht mal ein Fehler.
Beim Drücken von "2" gibt es einen Fehler "name 'c2' is not defined".
Vielleicht erbarmt sich ja jemand einem Anfänger python zu erklären......
Code: Alles auswählen
import threading
class Class1():
def print_class1():
print("--------")
print("class1")
print("--------")
class Class2():
def __init__(self, callback):
self.callback = callback
thread = threading.Thread(target=self.Wait_for_key)
thread.start()
thread.join()
def print_class2():
print("--------")
print("class2")
print("--------")
def Wait_for_key(self):
while 1:
print("1 = class 1")
print("2 = class 2")
print("q = quit")
key = input()
if key == "1":
self.callback(key)
if key == "2":
self.callback(key)
if key == 'q':
print("bye")
exit()
def on_callback(key):
print("{} pressed (callback)".format(key))
if key == "1": c1.print_class1
if key == "2": c2.print_class2
c1 = Class1()
c2 = Class2(on_callback)
def main():
pass
if __name__ == '__main__':
main()