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

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

如何在 tkinter 上設置條目的默認值?

如何在 tkinter 上設置條目的默認值?

蝴蝶不菲 2023-08-08 09:43:48
我正在嘗試制作一個表格,它是這樣的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)假設有人將“名稱”留空,我希望我的代碼能夠檢測到這一點并打印“未知”而不是什么都不打印提示:我不希望條目中包含已寫為“未知”的文本,我希望能夠將其留空,并且我的打印仍然能夠打印“未知”。浮動問題:def submit():    kilograms = entry_kilo.get()    kilo_float = float(kilograms)
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

這是我制作的一個課程,以便它支持此類活動。


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(),為什么呢?因為這就是我在課堂上定義它的方式。您可以使用a.get(),但它只會給您通常的空白字符串。get()而且我認為除了編輯__init__.pytkinter 文件之外不可能覆蓋現有方法,如果我錯了,請告訴我。


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


class Custom(Entry):

    def ret(self):

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

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


這不是最好的代碼,因為我以前沒有使用過類。為什么使用類?因為我相信默認的 tkinter 不可能做到這一點。那么為什么不直接創建一個自定義類并獲得這種效果;)


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


在此處進行更改以修復錯誤:


def click():

    kilograms = a.ret()

    kilo_float = a.ret()

    try:

        kilo_float = float(kilograms)

    except ValueError:

        pass

    print(kilo_float)

希望這對您有幫助。如果您有任何疑問或錯誤,請告訴我。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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