亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

添加大量標簽的更好方法

添加大量標簽的更好方法

慕村9548890 2023-06-20 16:22:49
我正在嘗試在 tkinter 的窗口中添加大量文本,我希望它們排成一行。我可以用比我現在做的更簡單的方式來做嗎,因為每次都不斷添加標簽和更改行真的很煩人。(“bingbong”只是一個例子,我將連續使用不同的密碼而不是那些 bingbong。)from tkinter import *from functools import partialdef validateLogin(password):    print(password.get())    if password.get() == "test":        newWindow = Tk()        newWindow.geometry('1800x800')        newWindow.title("Passwords")        tkWindow.destroy()        Label(newWindow, text="bingbong").grid(row=1, column=0)        Label(newWindow, text="bingbong").grid(row=2, column=0)        Label(newWindow, text="bingbong").grid(row=3, column=0)        Label(newWindow, text="bingbong").grid(row=4, column=0)        Label(newWindow, text="bingbong").grid(row=5, column=0)        Label(newWindow, text="bingbong").grid(row=6, column=0)        Label(newWindow, text="bingbong").grid(row=7, column=0)        Label(newWindow, text="bingbong").grid(row=8, column=0)    if password.get() != "test":        Label(tkWindow, text="Wrong password!", fg='red').grid(row=5, column=2)#windowtkWindow = Tk()tkWindow.geometry('250x100')tkWindow.title('Passwords')#password label and password entry boxpasswordLabel = Label(tkWindow,text="Password").grid(row=1, column=0)password = StringVar()passwordEntry = Entry(tkWindow, textvariable=password, show='*').grid(row=1, column=2)validateLogin = partial(validateLogin, password)#login buttonloginButton = Button(tkWindow, text="Login", command=validateLogin).grid(row=4, column=2)tkWindow.mainloop()
查看完整描述

1 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

使用循環來創建它們,而不是一次一個地手動創建它們


from tkinter import *

from functools import partial



words = ["foo", "bar", "baz", "bingbong", "foobar", "foobaz", "foofoo", "barbar"]

def validateLogin(password):

    print(password.get())

    if password.get() == "test":

        newWindow = Tk()

        newWindow.geometry('1800x800')

        newWindow.title("Passwords")

        tkWindow.destroy()

        for index, word in enumerate(words):

            Label(newWindow, text=word).grid(row=index, column=0)


    if password.get() != "test":

        Label(tkWindow, text="Wrong password!", fg='red').grid(row=5, column=2)


#window

tkWindow = Tk()

tkWindow.geometry('250x100')

tkWindow.title('Passwords')


#password label and password entry box

passwordLabel = Label(tkWindow,text="Password").grid(row=1, column=0)

password = StringVar()

passwordEntry = Entry(tkWindow, textvariable=password, show='*').grid(row=1, column=2)


validateLogin = partial(validateLogin, password)


#login button

loginButton = Button(tkWindow, text="Login", command=validateLogin).grid(row=4, column=2)


tkWindow.mainloop()

編輯:使用枚舉函數同時訪問字符串值(本例中為密碼)和索引


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號