У меня есть класс (MainApplication), который охватывает все остальные классы, и оператор if, находящийся за пределами внешнего класса. Я пытаюсь понять, как получить доступ к кнопке «Пуск» из этого оператора if, чтобы программа запустилась.
import tkinter as tk
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
class charName (object):
def __init__ (self, master):
Top = self.Top = tk.Toplevel(master)
self.l= tk.Label(Top, text="Test")
self.l.pack()
self.e = tk.Entry(Top)
self.e.pack()
self.b = tk.Button(Top, text="Next", command=self.Cleanup,)
self.b.pack()
Top.mainloop
def Cleanup (self):
self.value = self.e.get()
self.command = print("Works!")
self.Top.destroy
class Start (object):
def __init__(self, master):
self.master=master
self.b = tk.Button(root,
text="Get Started!",
command=self.popup,)
self.b.pack()
def popup (self):
self.w = charName(self.master)
self.b["state"] = "disabled"
self.master(self.w.Top)
self.b["state"] = "normal"
if __name__ == "__main__":
root=tk.Tk()
m=Start(root)
root.mainloop()
Я пробовал избавиться от MainApplication, и это отлично сработало. Кроме этого, я не уверен, что еще я могу сделать. Я читал в другом посте, что код MainApplication будет работать для организации объектов (я не совсем уверен, что делаю), но я пытался заставить эту часть кода открывать экран, который позволил бы вам ввести имя персонажа. , затем (в другом коде) выберите расу, класс и другие необходимые параметры для создания персонажа DnD, а также код для организации расположения кнопок.
Также извините, что этот пост такой длинный . Я новичок в Python (и в этом) и не совсем уверен, что знаю, что делаю, что нужно, а что нет. Спасибо за ваше терпение.
import tkinter as tk
class charName (object):
def __init__ (self, master):
Top = self.Top = tk.Toplevel(master)
self.l= tk.Label(Top, text="Test")
self.l.pack()
self.e = tk.Entry(Top)
self.e.pack()
self.b = tk.Button(Top, text="Next", command=self.Cleanup,)
self.b.pack()
Top.mainloop
def Cleanup (self):
self.value = self.e.get()
self.command = print("Works!")
self.Top.destroy
class Start (object):
def __init__(self, master):
self.master=master
self.b = tk.Button(root,
text="Get Started!",
command=self.popup,)
self.b.pack()
def popup (self):
self.w = charName(self.master)
self.b["state"] = "disabled"
self.master(self.w.Top)
self.b["state"] = "normal"
if __name__ == "__main__":
root=tk.Tk()
m=Start(root)
root.mainloop()
Подробнее здесь: https://stackoverflow.com/questions/788 ... ll-classes