У меня возникли проблемы с печатью текста в этом текстовом поле при нажатии кнопки из класса 3. Если я вызываю ту же функцию из класса 2, все в порядке. А вот с 3 класса не так уж и много. Я все еще могу вызвать функцию (она даже выводит на консоль), но это не меняет окно текста. Не могу понять, чего мне не хватает. Я все еще изучаю Python, поэтому мне сложно сформулировать свои вопросы в Интернете, чтобы получить желаемые результаты.
import tkinter as tk
def mainGUI():
app = Class1()
app.mainloop()
class Class1(tk.Tk):
def __init__(self):
super().__init__()
self.title("test")
frame1 = Class2(self)
frame1.pack()
frame2 = Class3(self)
frame2.pack()
class Class2(tk.Frame):
def __init__(self, parent):
super().__init__(parent)
button1 = tk.Button(self, text='Class2 Button', command=self.doStuff)
button1.pack()
self.text_box = tk.Text(self)
self.text_box.pack()
def doStuff(self):
self.text_box.insert(tk.END, "You Pushed the button!\n")
print("I can print to console though")
class Class3(tk.Frame):
def __init__(self, parent):
super().__init__(parent)
button2 = tk.Button(self, text='Class3 Button', command=Class2(parent).doStuff)
button2.pack()
mainGUI()
Подробнее здесь: https://stackoverflow.com/questions/790 ... n-in-anoth
Кажется, я не могу заставить функцию в одном классе правильно вызывать функцию в другом классе в tkinter – Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение