ttk.combobox:如何在框内放置默认文本?

时间:2017-06-23 01:41:20

标签: python python-3.x tkinter combobox ttk

尝试使用textvariableinsert,但它无效。我希望实现的目标是:

但是当你还没有选择任何东西时,文本不会作为默认文本存储在组合框内的值。

到目前为止,这是我的代码:

root = Tk()
root.geometry('800x600')
root.title('CSSD')
topFrame=Frame(root,width=800,height=150,pady=10,padx=250)
area=Label(topFrame,text='CSSD')
area.config(font=("Courier", 100))
frame=Frame(root,highlightbackground="black", highlightcolor="black", highlightthickness=1, width=100, height=100, bd= 0)
frame.place(relx=.5, rely=.5, anchor="center")
username = Label(frame, text='User Name')
username.config(font='Arial',width=15)
password = Label(frame, text='Password')
password.config(font='Arial',width=15)
enteruser = Entry(frame, textvariable=StringVar(),font=large_font)
enterpass = Entry(frame, show='*', textvariable=StringVar(),font=large_font)


combo=ttk.Combobox(frame)
combo['values']=('Clinic 1','Clinic 2','Clinic 3','Clinic 4','Clinic 5','Clinic 6','Clinic 10','Clinic 11','OB')
combo.state(['readonly'])
combo.grid(row=0,sticky=NW)


topFrame.grid(row=0,sticky=EW)
area.grid(row=0,columnspan=300)
username.grid(row=1, sticky=E)
enteruser.grid(row=1, column=1)
password.grid(row=2, sticky=E)
enterpass.grid(row=2, column=1)

2 个答案:

答案 0 :(得分:3)

您可以使用set方法,如下所示:

combo.set('default')

答案 1 :(得分:0)

以防万一没有人提到它的另一种选择。

method = StringVar(value='default') 
choosen = ttk.Combobox(root, width = 14, textvariable = method, )

这也适用于 Checkbutton