将字符串设置为闲置状态的文本

时间:2019-10-21 11:52:59

标签: python python-idle

这是新手,因此对基本问题表示歉意 我正在尝试设置一个输入框以接受字母和数字 不幸的是,我只能通过使用str()将此字段设置为数字 我曾尝试弄乱代码,但不允许我使用字母 我应该使用什么代替str()? 如您在我的代码示例中所见,我只能将用户名和密码设置为数字值,而不是字母数字值 我相信我已经从tk导入了所有正确的模块 我是否正确设置了以下定义? -self.Username = StringVar() -self.Password = StringVar()

谢谢

    from tkinter import*
    import tkinter.messagebox
    from tkinter import ttk
    import random
    import time
    import datetime

def main():
root = Tk()
app = Window1(root)

class Window1:
def __init__(self, master):
    self.master =master
    self.master.title("Notification Monitoring System")
    self.master.geometry('1350x750+0+0')
    self.master.config(bg ='white')
    self.frame = Frame(self.master, bg ='white')
    self.frame.pack()

    self.Username = StringVar()
    self.Password = StringVar()

    self.lblTitle = Label(self.frame, text = 'Welcome to Notification Monitoring', font=('arial',50,'bold'), bg='white',
                          fg='black')
    self.lblTitle.grid(row=0, column=0, columnspan=2, pady=40)
    #==============================Frames================================================================
    self.LoginFrame1 = LabelFrame(self.frame, width=1350, height=600
                           ,font=('arial',20,'bold'),relief='ridge',bg='pale green', bd=20)
    self.LoginFrame1.grid(row=1, column=0)

    self.LoginFrame2 = LabelFrame(self.frame, width=1000, height=600
                           ,font=('arial',20,'bold'),relief='ridge',bg='pale green', bd=20)
    self.LoginFrame2.grid(row=2, column=0)
    #==============================Label And Entry=======================================================
    self.lblUsername=Label(self.LoginFrame1, text = 'Username',font=('arial',20,'bold'),bd=22,
                           bg='pale green', fg='black')
    self.lblUsername.grid(row=0,column=0)
    self.txtUsername=Entry(self.LoginFrame1,font=('arial',20,'bold'),textvariable= self.Username)
    self.txtUsername.grid(row=0,column=1, padx=119)

    self.lblPassword=Label(self.LoginFrame1, text = 'Password',font=('arial',20,'bold'),bd=22,
                           bg='pale green', fg='black')
    self.lblPassword.grid(row=1,column=0)
    self.txtPassword=Entry(self.LoginFrame1,font=('arial',20,'bold'),show='*', textvariable= self.Password)
    self.txtPassword.grid(row=1,column=1, columnspan=2, pady=30)

    #==============================Buttons===============================================================

    self.btnLogin = Button(self.LoginFrame2, text = 'Login', width = 17,font=('arial',20,'bold'),
                           command =self.Login_System)
    self.btnLogin.grid(row=3,column=0, pady=20, padx=8)

    self.btnReset = Button(self.LoginFrame2, text = 'Clear', width = 17,font=('arial',20,'bold'),
                           command =self.Reset)
    self.btnReset.grid(row=3,column=1, pady=20, padx=8)

    self.btnExit = Button(self.LoginFrame2, text = 'Exit', width = 17,font=('arial',20,'bold'),
                          command =self.iExit)
    self.btnExit.grid(row=3,column=2, pady=20, padx=8)
    #==============================Buttons===========================================================
def Login_System(self):
    u =(self.Username.get())
    p =(self.Password.get())
    if (u ==str(123456789) and p ==str(987654321)):
        self.newWindow = Toplevel(self.master)
        self.app = Window2(self.newWindow)
    else:
        tkinter.messagebox.askyesno("Notification Monitoring System", "Invalid login details")
        self.Username.set("")
        self.Password.set("")
        self.txtUsername.focus()
def Reset(self):
    self.Username.set("")
    self.Password.set("")
    self.txtUsername.focus()

def iExit(self):
    self.iExit = tkinter.messagebox.askyesno("Notification Monitoring System", "Confirm you want to exit")
    if self.iExit > 0:
        self.master.destroy()
    else:
        command = self.new_window
        return

def new_window(self):
    self.newWindow = Toplevel(self.master)
    self.app = Window2(self.newWindow)

class Window2:
def __init__(self, master):
    self.master =master
    self.master.title("Notification Monitoring System")
    self.master.geometry('1350x750+0+0')
    self.master.config(bg ='cadet blue')
    self.frame = Frame(self.master, bg ='powder blue')
    self.frame.pack()

    #====================================================================================================
    #==============================New window code here==================================================





    #===================================================================================================




if __name__== '__main__':
root = Tk()
application = Window1(root)
root.mainloop()

1 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但我会尽力回答。 要将输入作为数字,请使用:

>>>a = int(input("Enter   :"))
Enter   :5
>>>print(a*5)
25