Я новичок в tkinter и хотел изменить уже существующий фрагмент кода, который я сделал в графическом интерфейсе. Приведенный ниже фрагмент кода представляет собой систему имени пользователя и пароля. В чем мне нужна помощь, так это в том, что я не могу понять, как получить новый ящик или удалить виджеты графического интерфейса. В приведенном ниже коде нет ничего плохого, но я хотел показать вам, как я его закодировал и как создать новый блок на основе этого кода. Кстати, я использую Python 3.5.1 и Windows 10.
import tkinter
from tkinter import *
import tkinter.messagebox as box
import time
def dialog1():
username=entry1.get()
password = entry2.get()
if (username == 'Noel' and password == 'Music quiz'):
box.showinfo('info','You may now enter the Music quiz')
else:
box.showinfo('info','Invalid Login')
window = Tk()
window.title('Music quiz')
window.geometry("300x125")
window.wm_iconbitmap('Favicon.ico')
frame = Frame(window)
Label1 = Label(window,text = 'Username:')
Label1.pack()
entry1 = Entry()
entry1.pack()
Label2 = Label(window,text = 'Password: ')
Label2.pack()
entry2 = Entry()
entry2.pack()
По сути, я хочу удалить виджеты или фактическое поле, которое вы создали с текстом имени пользователя и пароля, чтобы я мог больше кодировать графический интерфейс с его помощью. Это простой вопрос, но я абсолютный новичок в вознях, поэтому не знаю, как это делать.






Вот отредактированный код, который, я думаю, сделает то, о чем вы просили. Пояснения в коде в виде комментариев.
import tkinter
from tkinter import *
import tkinter.messagebox as box
import time
def dialog1():
username=entry1.get()
password = entry2.get()
if (username == 'Noel' and password == 'Music quiz'):
box.showinfo('info','You may now enter the Music quiz')
loginframe.destroy() #remove the login frame
##code to create the quiz goes here##
else:
box.showinfo('info','Invalid Login')
window = Tk()
window.title('Music quiz')
window.geometry("300x125")
window.wm_iconbitmap('Favicon.ico')
loginframe = Frame(window) #create an empty frame for login
loginframe.pack() #put the empty frame into the window
#all elements below are put into the 'loginframe' Frame
Label1 = Label(loginframe,text = 'Username:')
Label1.pack()
entry1 = Entry(loginframe)
entry1.pack()
Label2 = Label(loginframe,text = 'Password: ')
Label2.pack()
entry2 = Entry(loginframe)
entry2.pack()
donebttn = Button(loginframe, text='Done',
command=dialog1) #create a button to continue
donebttn.pack() #display that button
mainloop()
Это именно то, что мне нужно, это работает и позволяет мне продолжать писать код для моей игры. Спасибо
Пожалуйста, поясните, что вы подразумеваете под "новой коробкой"