2 回答

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
此行導(dǎo)致錯(cuò)誤:
wordLabel = Label(root, updateLabel(word_guess))
你想多了。應(yīng)該很簡(jiǎn)單:
updateLabel(word_guess)
你那里還有另一個(gè)重大錯(cuò)誤。這行:
while incorrect > 0:
會(huì)導(dǎo)致你的程序鎖定。您需要將其更改為:
if incorrect > 0:

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
wordLabel = Label(root, updateLabel(word_guess))
您嘗試創(chuàng)建一個(gè)新標(biāo)簽Label
并使全局wordLabel
引用新標(biāo)簽而不是舊標(biāo)簽。即使它工作正常,這也不會(huì)更新你的 GUI,因?yàn)樾聵?biāo)簽沒(méi)有打包。
它中斷的原因是,雖然更改了namedupdateLabel
的內(nèi)容并將其返回,但它并沒(méi)有被用作新標(biāo)簽的。除了指定父窗口小部件之外,您還應(yīng)該僅對(duì)構(gòu)造函數(shù)使用關(guān)鍵字參數(shù),否則該參數(shù)的解釋可能與您期望的不同。(坦率地說(shuō),我很驚訝你竟然能以這種方式調(diào)用該函數(shù);我本來(lái)期望在調(diào)用時(shí)出現(xiàn) a 。)StringVar
text
textvariable
TypeError
無(wú)論如何,您所需要做的就是直接將其添加到新文本中text
,因?yàn)樗彩侨值摹?code>.set這將自動(dòng)更新外觀wordLabel
(通常刷新顯示所需的任何 tkinter 內(nèi)容的模數(shù)) - 這就是StringVar 容器類的要點(diǎn)(而不是僅使用純字符串)。
添加回答
舉報(bào)