Как убрать виджеты и заменить их в python - PullRequest
0 голосов
/ 24 октября 2018

Я новичок в tkinter и хотел изменить уже существующий кусок кода, который я сделал, в GUI.Часть кода ниже представляет собой систему имени пользователя и пароля.В чем я нуждаюсь, так это в том, что не могу понять, как получить новую коробку или удалить виджеты графического интерфейса.В приведенном ниже коде нет ничего плохого, но я хотел показать вам, как он показывает, как я его кодировал и как создать новую коробку на основе этого кода.Кстати, я в 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()

1 Ответ

0 голосов
/ 25 октября 2018

Вот отредактированный код, который, я думаю, сделает то, что вы просили.Пояснения в коде в виде комментариев.

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...