Sebastian schrieb:
> wie kann ich diverse Parameter an eine andere Funktion übergeben?
In diesem Falle: gar nicht.
> Ich habe folgenden Aufbau
> [c]
> from tkinter import *
> import threading
> import tkinter as tk
Zweimal "tkinter" importieren, einmal alle Symbole und dann nochmal als
Modul? Hm.
> class MyThread1 (threading.Thread):
> def run(self):
>
> print(erhaltene_eingabe)
> #hier soll der übergebene Parameter verwendet werden
Du kannst die Daten höchstens an den Konstruktor (_init_) von
MyThread1 übergeben. Die Methode "run()" wird vom threading-Modul im
Hintergrund benutzt, wenn Du die Methode start() Deiner von
threading.Thread erbenden Klasse im Vordergrund aufrufst.
Ganz grundsätzlich ist es auch keine gute Idee, Tkinter mit dem
threading-Modul zu benutzen, das kann zu sehr subtilen Fehlern führen
und nutzt Dir vor allem meistens auch nichts, Stichwort Globel
Interpreter Lock (GIL). Deswegen möchtest Du in Tkinter lieber die
Methode after() benutzen.
Zuletzt möchte ich Dich auf das Python-Modul "multiprocessing"
hinweisen, das mit dem Modul "threading" weitgehend API-kompatibel ist,
aber eben ein echtes Mutliprocessing sowie verschiedene Möglichkeiten
zur Kommunikation zwischen den Prozessen beinhaltet. Dieses Modul leidet
nicht unter den Einschränkungen des GIL und soll (hab' ich noch nicht
selbst probiert) reibungslos mit Tkinter kooperieren. HTH, YMMV.