GUI(Tkinter)窗口中没有任何内容

时间:2017-10-15 18:44:07

标签: python user-interface button tkinter labels

我正在使用tkinter为登录系统编写代码,出于某些原因,当我运行代码时,没有错误消息,弹出一个窗口,但没有我需要的标题,按钮或标签。

from tkinter import *
import tkinter.messagebox

frame = Tk()

def adminlogincheck(self, master):
    frame = Frame(master)
    frame.pack()
    if username == '123key' and password == 'key123':
      accept = Label(frame, text='Login Successful')
    else:
      decline = Label(frame, text='Login incorrect')
    mainloop()

def adminselect(self, master):
  frame = Frame(master)
  frame.pack()
  self.button = Button(frame, text="Cancel", fg="red", command=quit)
  self.button.pack(side=LEFT)
  self.slogan = Button(frame, text="Proceed", command=self.adminlogin)
  self.slogan.pack(side=LEFT)
  mainloop()

def adminlogin(self, master):
  frame = Frame(master)
  frame.pack()
  username_entry = Entry(frame)
  password_entry = Entrey(frame)
  confirm = Button(frame, text='Login', command = adminlogincheck)
  loginquit = Button(frame, text='Cancel', command=quit)
  mainloop()

我会在登录系统运行后添加更多,但是有人知道为什么没有按钮或标签出现吗?

1 个答案:

答案 0 :(得分:0)

您的请求中有足够的内容可以查看您要完成的任务,但代码存在许多问题。以下是您正在努力实现的工作模式......

from tkinter import *
import tkinter.messagebox


class Admin:

    def __init__(self, master):
        self.frame = Frame(master)
        self.frame.pack()
        self.username = StringVar()
        self.password = StringVar()

    def logincheck(self):
        self.clearframe()
        if self.username.get() == '123key' and self.password.get() == 'key123':
            accept = Label(self.frame, text='Login Successful')
            accept.pack(side=LEFT)
        else:
            decline = Label(self.frame, text='Login incorrect')
            decline.pack(side=LEFT)

    def select(self):
        self.clearframe()
        self.button = Button(self.frame, text="Cancel", fg="red", command=quit)
        self.button.pack(side=LEFT)
        self.slogan = Button(self.frame, text="Proceed", command=self.adminlogin)
        self.slogan.pack(side=LEFT)

    def login(self):
        self.clearframe()
        username_entry = Entry(self.frame, textvariable=self.username)
        username_entry.pack()
        password_entry = Entry(self.frame, textvariable=self.password)
        password_entry.pack()
        confirm = Button(self.frame, text='Login', command = self.logincheck)
        confirm.pack()
        loginquit = Button(self.frame, text='Cancel', command=quit)
        loginquit.pack()

    def clearframe(self):
        # Destroy all children of the class's frame.
        for child in self.frame.winfo_children():
            child.destroy()

root = Tk()
admin = Admin(root)
admin.login()
mainloop()