使用Tkinter(.get)时发生Python错误

2024-09-27 02:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我在从条目小部件中提取变量时遇到了一个问题,到目前为止我已经这样做了,但是我找不到我的错误。我正在使用python3

from tkinter import *

def main():
    global today,postal,user,expire,cardnum
    root = Tk()
    root.title("Card checker")
    instruction =Label(root, text="Please enter your card details\n")
    namel = Label(root, text="Name: ")
    post = Label(root, text="Postal code: ")
    today_date = Label(root, text="Todays date: ")
    expire_date = Label(root, text="Expiry date ")
    card_number = Label(root, text="Card Number: ")
    date1= ()
    postcode= ()
    name1= ()
    expire1= ()
    cardno = ()

    namel.grid(row=1, column =0)
    post.grid(row=2,  column =0)
    today_date.grid(row=3,  column =0)
    expire_date.grid(row=4,  column =0)
    card_number.grid(row=5,  column =0)
    todaydateE= Entry(root,textvariable=date1)
    postE= Entry(root,textvariable=postcode)
    nameE = Entry(root,textvariable=name1)
    expiredateE= Entry(root,textvariable=expire1)
    cardnumberE= Entry(root,textvariable=cardno)
    nameE.grid(row=1, column =1)
    postE.grid(row=2,  column =1)
    cardnumberE.grid(row=5,  column =1)
    expiredateE.grid(row=4,  column =1)
    todaydateE.grid(row=3,  column =1)

    doneButton = Button(root, text= "Confirm", command=datecheck)
    doneButton.grid(columnspan =2)
    today= date1.get()
    postal= (postcode.get())
    user= name1.get()
    expire= expire1.get()
    cardnum = cardno.get()


def datecheck():
    global today,postal,user,expire,cardnum
    print(postal)

Tags: textgettodaydatecolumnrootlabelgrid
1条回答
网友
1楼 · 发布于 2024-09-27 02:23:11

所以您没有正确使用.get()函数。此外,您还希望使程序在事件之后执行某些操作,否则它将尝试什么也不获取,因为当程序启动时,那里什么也没有。编辑您的代码,这样,如果您点击确认按钮,您将得到任何输入框

from tkinter import *

def datecheck():
    global today, postal, user, expire, cardnum
    today = todaydateE.get()
    postal = (postE.get())
    user = nameE.get()
    expire = expiredateE.get()
    cardnum = cardnumberE.get()
    print(postal)

global today, postal, user, expire, cardnum
root = Tk()
root.title("Card checker")
instruction = Label(root, text="Please enter your card details\n")
namel = Label(root, text="Name: ")
post = Label(root, text="Postal code: ")
today_date = Label(root, text="Todays date: ")
expire_date = Label(root, text="Expiry date ")
card_number = Label(root, text="Card Number: ")

namel.grid(row=1, column=0)
post.grid(row=2, column=0)
today_date.grid(row=3, column=0)
expire_date.grid(row=4, column=0)
card_number.grid(row=5, column=0)
todaydateE = Entry(root)
postE = Entry(root)
nameE = Entry(root)
expiredateE = Entry(root )
cardnumberE = Entry(root)
nameE.grid(row=1, column=1)
postE.grid(row=2, column=1)
cardnumberE.grid(row=5, column=1)
expiredateE.grid(row=4, column=1)
todaydateE.grid(row=3, column=1)

doneButton = Button(root, text="Confirm", command=datecheck)
doneButton.grid(columnspan=2)

root.mainloop()

相关问题 更多 >

    热门问题