Мой код дает эту ошибку, кто-то может мне помочь.Когда я помещаю метку в rand_num () или tool (), не имеет значения, что выдает ту же ошибку.Как можно присвоить атрибут метке?
from tkinter import *
import random
class Application(object):
def __init__(self):
self.rand_num()
self.tool()
def tool(self):
self.label = Label(fg="white", bg="#61380B", font="Helvetica 12 bold")
self.label["text"] = self.list
self.label.pack()
self.open = Button(text='Hit', command=self.rand_num())
self.open.pack()
self.ok = Button(text='Exit', command=root.quit)
self.ok.pack()
def rand_num(self):
self.list = []
for i in range(6):
rand = random.randint(1, 49)
if rand not in self.list:
self.list.append(rand)
self.list.sort()
self.label["text"] = self.list
if __name__ == '__main__':
root = Tk()
root.geometry('300x100+500+100')
app = Application()
mainloop()
редактировать: я редактировал вот так и так хорошо работает!
from tkinter import *
import random
class Application(object):
def __init__(self):
self.tool() #Deleted that line
def rand_num(self):
self.list = []
for i in range(6):
rand = random.randint(1, 49)
if rand not in self.list:
self.list.append(rand)
self.list.sort()
self.label["text"] = self.list
def tool(self):
self.label = Label(text='Please enter hit', #Added 'text' attribute
fg="white",
bg="#61380B",
font="Helvetica 12 bold")
#Deleted that line
self.label.pack()
self.open = Button(text='Hit', command=self.rand_num)
self.open.pack()
#self.ok = Button(text='Exit', command=root.quit)
#self.ok.pack()
if __name__ == '__main__':
root = Tk()
root.geometry('300x100+500+100')
app = Application()
mainloop()
Измененные части выше AttributeError: у объекта «Приложение» нет атрибута »метка '