第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 tkinter 上設(shè)置條目的默認(rèn)值?

如何在 tkinter 上設(shè)置條目的默認(rèn)值?

蝴蝶不菲 2023-08-08 09:43:48
我正在嘗試制作一個(gè)表格,它是這樣的from tkinter import *root = tk.Tk()root.title("Form")name = Label(root, text="Name", width=20,bg = "black", fg="red")name.place(x=150, y=50)name = Entry(root, width=20, bg = "black", fg="red")name.place(x=150, y=100)print(name.get)假設(shè)有人將“名稱”留空,我希望我的代碼能夠檢測到這一點(diǎn)并打印“未知”而不是什么都不打印提示:我不希望條目中包含已寫為“未知”的文本,我希望能夠?qū)⑵淞艨?,并且我的打印仍然能夠打印“未知”。浮?dòng)問題:def submit():    kilograms = entry_kilo.get()    kilo_float = float(kilograms)
查看完整描述

1 回答

?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

這是我制作的一個(gè)課程,以便它支持此類活動(dòng)。


from tkinter import *


class Custom(Entry): #inheriting from the Entry class

    def ret(self):

        if self.get() == '': # if empty then assign

            return 'Unknown'

        else:

            return self.get() # else give the same thing out


root = Tk()

root.title("Form")


name = Label(root, text="Name", width=20,bg = "black", fg="red")

name.place(x=150, y=50)


a = Custom(root, width=20, bg = "black", fg="red") #instantiating using all the same option you did before

a.place(x=150, y=100)


print(a.ret()) #Prints unknown

print(a.ret() == a.get()) #prints false obviously, just a testimony ;)


root.mainloop()

這里必須要用到a.ret(),為什么呢?因?yàn)檫@就是我在課堂上定義它的方式。您可以使用a.get(),但它只會(huì)給您通常的空白字符串。get()而且我認(rèn)為除了編輯__init__.pytkinter 文件之外不可能覆蓋現(xiàn)有方法,如果我錯(cuò)了,請告訴我。


您還可以將類縮短為多行,例如:


class Custom(Entry):

    def ret(self):

        return 'Unknown' if self.get() == '' else self.get() #does the same thing as before

請記住,您可以替換'Unknown'為您喜歡的任何內(nèi)容。


這不是最好的代碼,因?yàn)槲乙郧皼]有使用過類。為什么使用類?因?yàn)槲蚁嘈拍J(rèn)的 tkinter 不可能做到這一點(diǎn)。那么為什么不直接創(chuàng)建一個(gè)自定義類并獲得這種效果;)


您應(yīng)該如何在您的項(xiàng)目中使用它?只需將所有替換Entry(..)為Custom(..). 它也支持普通小部件所做的所有選項(xiàng)Entry。


在此處進(jìn)行更改以修復(fù)錯(cuò)誤:


def click():

    kilograms = a.ret()

    kilo_float = a.ret()

    try:

        kilo_float = float(kilograms)

    except ValueError:

        pass

    print(kilo_float)

希望這對(duì)您有幫助。如果您有任何疑問或錯(cuò)誤,請告訴我。


查看完整回答
反對(duì) 回復(fù) 2023-08-08
  • 1 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)