我正在嘗試在文本框的選項選單中顯示我的選擇。有人可以幫我解決這個問題嗎?當我單擊選項選單中的一個選項時,文本框沒有更新。這是我的代碼。
from tkinter import *
root = Tk()
display_text=StringVar()
e1=Entry(root, textvariable=display_text, width=42)
e1.grid(row=0, column=1)
def OptionMenu_Select():
display_text.set(var.get())
Menu = {"Pho bo":"$3.50", "Chao ga":"$3.99", "pho xao":"$4.10", "Com rang":"$3.80"}
choices = [m " " Menu[m] for m in Menu]
var=StringVar()
var.set(choices[0])
display_text.set(choices[0])
popupMenu = OptionMenu(root, var, *choices, command = OptionMenu_Select)
popupMenu.grid(row=1, column=1)
root.mainloop()
uj5u.com熱心網友回復:
如果您在終端中運行代碼,那么您應該會看到在選項選單中選擇專案時出現例外:
TypeError: OptionMenu_Select() takes 0 positional arguments but 1 was given
這是因為command選項的回呼OptionMenu需要一個引數,即所選專案,但您的函式沒有引數。
只需修改函式如下:
def OptionMenu_Select(val):
#display_text.set(var.get())
# just use the passed argument
display_text.set(val)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467706.html
下一篇:如何在段落中間對齊鏈接?
