我有以下輸入框,其中由於獲取值,我已經爲textvariable放置了一個列表選項。默認文本以及列表文本變量條目控件Tkinter
但是我想知道是否可以在背景中放置默認文本,以顯示每個框中需要哪些值(如灰度文本,「值1」,「值2」等)。
self.numbers = [StringVar() for i in xrange(self.number_boxes) ] #Name available in global scope.
box=Entry(self.frame_table,bg='white',borderwidth=0, width=10, justify="center", textvariable=self.numbers[i])
能在或許真的變「textvariable」在鼠標點擊盒子裏面添加或可我只是簡單地添加在另一個textvariable或文本設置一個默認的文本?
self.box = []
for i in xrange(self.number_boxes):
self.clicked = False
self.box.append(Entry(self.frame_table,bg='white',borderwidth=0, width=10, justify="center", textvariable=self.numbers[i], fg='grey'))
self.box[i].grid(row=row_list,column=column+i, sticky='nsew', padx=1, pady=1)
self.box[i].insert(0, "Value %g" % float(i+1))
self.box[i].bind("<Button-1>", self.callback)
謝謝。儘管我不能用包或網格列表。 = S – user2063
好吧,我明白了,但它似乎只能在回調中的第一個框中使用。我不能使用box [i]與追加行,其他都可以。我得到同樣的錯誤,追加'列表超出範圍'。 – user2063
您將不得不學習lamba函數,以便您可以將'i'傳遞給回調函數。回調將更改爲接受'i'作爲輸入參數:'回調函數定義中的def callback(event,i):'和回調主體中的'box [i]'。搜索stackoverflow的lamba函數的例子。祝你好運。 – gary