-1
我正嘗試爲用戶創建一個輸入框,以手動輸入一個不存在於optionmenu小部件列表中的變量。這可能嗎?如果選擇了Optionmenu上的特定項目,請創建一個輸入框
from Tkinter import *
import Tkinter as tk
class Demo1:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
x = (master.winfo_screenwidth() - master.winfo_reqwidth())/2
y = (master.winfo_screenheight() - master.winfo_reqheight())/2
master.geometry("+%d+%d" % (x, y))
master.deiconify()
self.subtests = StringVar()
self.subtests.set("Enter Test Type")
choices = ['Potato','Tomato','Onion','Other']
self.testnumber = OptionMenu(master, self.subtests, *choices).grid(row = 2, column = 3)
self.confirmbutton = Button (master, text="Confirm Test", width=20, command =lambda: self.confirmsubtest(master))
self.confirmbutton.grid(row = 5, sticky = E)
def main():
root = tk.Tk()
app = Demo1(root)
root.mainloop()
if __name__ == '__main__':
main()
如前所述,如果用戶需要選擇不在列表中的變量。是否有可能允許用戶通過同一個窗口中的輸入框手動輸入變量(例如:在列表中選擇生成入口/窗口小部件的「其他」)?
我認爲你可以使用testnumber [ 「菜單」。刪除(0,END)刪除,然後testnumber [ 「菜單」。add_command(標籤= choices_item,...等等。添加所有的這可能不完全正確,但足夠接近以通過搜索引擎找到答案 –
您可能必須使用'pack'方法打包對象('OptionMenu','Button')。 –