Кажется, я не могу заставить функцию в одном классе правильно вызывать функцию в другом классе в tkinter – PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Кажется, я не могу заставить функцию в одном классе правильно вызывать функцию в другом классе в tkinter – Python

Сообщение Anonymous »

У меня возникли проблемы с печатью текста в этом текстовом поле при нажатии кнопки из класса 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»