1
我在Windows 1010中使用Python 2.7.8。這一個真的讓我發瘋:我只是想一個ttk.Combobox()
默認,預先選定的值,只要我格。這是我的代碼:蟒蛇組合框默認當前
from Tkinter import *
import ttk
class open_review_frame():
def __init__(self, original):
self.root = original
self.review_frame = LabelFrame(original, text="review", bd=1, height=400, width=500)
self.review_frame.grid(row=0, column=1, sticky=W + N, ipadx=10, ipady=10)
self.rowline = 0
self.review_type_val = StringVar()
self.review_type = ttk.Combobox(self.review_frame, width=12, textvariable=self.review_type_val, state='readonly')
self.review_type['values'] = ("a", "b", "c", "d")
self.review_type.current(0)
self.review_type.grid(row=self.rowline, column=2, sticky=W)
class main_frame():
def __init__(self, original):
self.root = original
review_frame_test = open_review_frame(self.root)
if __name__ == "__main__":
root = Tk()
app = main_frame(original=root)
root.mainloop()
它繪製一個空的Combobox。令人費解的是,如果我把一個替換文本配置文本變量配置它完美的作品:
from Tkinter import *
import ttk
class open_review_frame():
def __init__(self, original):
"""Constructor"""
self.root = original
self.review_frame = LabelFrame(original, text="review", bd=1, height=400, width=500)
self.review_frame.grid(row=0, column=1, sticky=W + N, ipadx=10, ipady=10)
self.rowline = 0
self.review_type_val = StringVar()
self.review_type = ttk.Combobox(self.review_frame, width=12, text= "", state='readonly')
#self.review_type = ttk.Combobox(self.review_frame, width=12, textvariable=self.review_type_val, state='readonly')
self.review_type['values'] = ("a", "b", "c", "d")
self.review_type.current(0)
self.review_type.grid(row=self.rowline, column=2, sticky=W)
class main_frame():
def __init__(self, original):
self.root = original
review_frame_test = open_review_frame(self.root)
if __name__ == "__main__":
root = Tk()
app = main_frame(original=root)
root.mainloop()
我不明白爲什麼?
謝謝您的回答,我解決了問題 –