Ich erstelle ein Tkinter-Programm, das dem Benutzer erlaubt, Text in eine hübsch aussehende Box statt in die Python-Shell einzugeben.Variable von einer anderen Datei holen - python
Da ich diese in mehreren Programmen verwenden möchte, habe ich eine Funktion erstellt, die in anderen Dateien verwendet werden kann.
Ich kann es in einer anderen Datei ausführen, aber nicht importieren, die Variable hier ist mein Code.
Datei 1:
import tkinter as tk
def input_text(label_text, button_text):
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.entry = tk.Entry(self)
self.button = tk.Button(self, text=button_text, command=self.on_button)
self.label = tk.Label(self, text=label_text)
self.label.pack(side = 'top', pady = 5)
self.button.pack(side = 'bottom', pady = 5)
self.entry.pack()
def on_button(self):
answer = self.entry.get()
self.destroy()
w = SampleApp()
w.resizable(width=True, height=True)
w.geometry('{}x{}'.format(180, 90))
w.mainloop()
File 2:
import text_input as ti
from text_input import answer
ti.input_text('Enter some text', 'OK')
ich den Fehler ImportError: cannot import name 'answer'
Sie ‚Antwort‘ nicht überall sein scheinen zu speichern, so dass es außerhalb der Funktion nicht 'on_button' existieren. Ich denke, es gibt wahrscheinlich einen besseren Weg, dies zu tun - zum Beispiel die Klasse und den Kontrollcode nicht in der gleichen Funktion zu haben. –
Es gibt keine "Antwort" in der Datei 1 –
Ja, es ist in der letzten Funktion (am unteren Rand) – Daniel