Python Tkinter用户名和密码系统

问题描述 投票:0回答:1

我想制作一个控制系统,但是有问题。我希望强制填写用户名和电话号码部分,并且电话号码部分必须为整数。我不知道该怎么办。

from tkinter import *

class GUI(Frame):
    def __init__(self, parent):
        self.parent = parent
        Frame.__init__(self, parent)
        # self.db = dbm.open("captions.db","c")
        self.username = StringVar()
        self.phone_number = IntVar()
        self.initUI(parent)

    def initUI(self, parent):
        self.label1 = Label(self,text = "UserName:")
        self.label1.grid()
        self.entry = Entry(self,textvariable = self.username)
        self.entry.grid()
        self.label2 = Label(self, text="Phone Number:")
        self.label2.grid()
        self.entry1 = Entry(self,textvariable = self.phone_number)
        self.entry1.grid()
        self.button = Button(self,text = "Check")
        self.button.grid()


        self.grid()
def mainfunction():
    root = Tk()
    root.title("Football Teams Analyzer")
    root.geometry('1024x768+300+50')
    app = GUI(root)
    root.mainloop()

mainfunction()
user-interface tkinter
1个回答
0
投票

您可以使用isinstance()函数检查项目的类型,如果指定的对象属于指定的类型,则该函数将返回True,否则返回False

对于类型的简单检查:

def checkNumber():
    phone = self.entry1.get()
    isNumber = isinstance(phone, int)
    if isNumber:
        print("Success!")
    else:
        ...

检查输入小部件是否为空:

def checkEntry():
    check = entry1.get()
    if check == "":
        print("EMPTY")
    else:
        ...

全部放在一起。

from tkinter import *

class GUI(Frame):
    def __init__(self, parent):
        self.parent = parent
        Frame.__init__(self, parent)
        # self.db = dbm.open("captions.db","c")
        self.username = StringVar()
        self.phone_number = IntVar()
        self.initUI(parent)

    def initUI(self, parent):
        self.label1 = Label(self,text = "UserName:")
        self.label1.grid()
        self.entry = Entry(self,textvariable = self.username)
        self.entry.grid()
        self.label2 = Label(self, text="Phone Number:")
        self.label2.grid()
        self.entry1 = Entry(self,textvariable = self.phone_number)
        self.entry1.grid()
        self.button = Button(self,text = "Check", command = check)
        self.button.grid()

    def checkEntry():
        check = entry1.get()
        if check == "":
            print("EMPTY")
            return True
        else:
            ...

    def check():
        if CheckEntry(): # If CheckEntry() returns true
            phone = self.entry1.get() # Get the entry values
            isNumber = isinstance(phone, int) # Check if it is an integer
            if isNumber:
                print("Success!")
            else:
                ...

        self.grid()
def mainfunction():
    root = Tk()
    root.title("Football Teams Analyzer")
    root.geometry('1024x768+300+50')
    app = GUI(root)
    root.mainloop()

mainfunction()
© www.soinside.com 2019 - 2024. All rights reserved.