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

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

Tkinter:將功能分配給按鈕時出現(xiàn)KeyError

Tkinter:將功能分配給按鈕時出現(xiàn)KeyError

阿波羅的戰(zhàn)車 2022-11-09 16:54:28
所以,我有一個相當復(fù)雜的程序,我遇到了一個我似乎無法解決的問題。這是我的程序有問題的部分:import tkinter as tkwindow = tk.Tk()variable = "enter"vars()[variable] = tk.Entry()vars()[variable].insert(0, "hello")vars()[variable].pack()def hi():    text = vars()[variable].get()button = tk.Button(text = "Click", command = hi)button.pack()我需要按下一個按鈕來獲取名為“enter”的條目的內(nèi)容。由于我的程序是如何工作的,這個名字“enter”必須存儲在一個變量中,我在這里稱之為“variable”。會發(fā)生什么,當我按下按鈕時,我得到一個 KeyError。更奇怪的是,當我執(zhí)行以下操作時,程序?qū)嶋H上可以工作:import tkinter as tkwindow = tk.Tk()variable = "enter"vars()[variable] = tk.Entry()vars()[variable].insert(0, "hello")vars()[variable].pack()text = vars()[variable].get()button = tk.Button(text = "Click")button.pack()這里獲取“enter”的內(nèi)容不是通過按鈕完成的,而是在程序運行時自動完成的。這不是我想要的,但由于某種原因它有效。我該怎么做才能使第一個代碼正常工作?
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻1784條經(jīng)驗 獲得超2個贊

當您vars在函數(shù)中本地執(zhí)行時hi,會創(chuàng)建一個新的 dict 對象,這與全局創(chuàng)建的 dict 對象不同。您可以保存對變量的引用并在函數(shù)中

使用該變量。hi


import tkinter as tk


window = tk.Tk()

variable = "enter"

vars()[variable] = tk.Entry()

vars()[variable].insert(0, "hello")

vars()[variable].pack()


d = vars()


def hi():

    text = d[variable].get()


button = tk.Button(text="Click", command=hi)

button.pack()


window.mainloop()


查看完整回答
反對 回復(fù) 2022-11-09
?
藍山帝景

TA貢獻1843條經(jīng)驗 獲得超7個贊

我需要按下一個按鈕來獲取名為“enter”的條目的內(nèi)容。由于我的程序是如何工作的,這個名字,“enter”必須存儲在一個變量中,


比使用更好的解決方案vars()[variable]是將小部件存儲在字典中。的使用以vars()使代碼更難理解為代價提供的價值很小。


import tkinter as tk


window = tk.Tk()

variable = "enter"


widgets = {}

widgets[variable] = tk.Entry()

widgets[variable].insert(0, "hello")

widgets[variable].pack()


def hi():

    text = widgets[variable].get()

    print(text)


button = tk.Button(text = "Click", command = hi)

button.pack()


查看完整回答
反對 回復(fù) 2022-11-09
  • 2 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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