我正試圖在Tkinter中使用Entry小部件開發一個搜索欄。到目前爲止,當用戶通過綁定<FocusIn>
事件來點擊條目時,我已經設法插入居中文本,該文本向左移動。當用戶開始輸入時,文本消失,當Entry小部件變空時,文本再次出現。在Tkinter Entry小部件中動畫文本
使用justify
選項可以完成文字從中心到左側的移動。這意味着文本從中心跳到左邊,這不是我想要的。我想找到一種動畫文本的動畫方式,以便它順利地從小部件的中心滑動到小部件的左側。
任何幫助,將不勝感激。我知道這可能使用Tkinter畫布嗎?
在此先感謝。
這裏是我的代碼:
from Tkinter import *
class SearchEntry:
def __init__(self, master):
self.master = master
self.entry = Entry(self.master, foreground = '#666', justify = 'center')
self.entry.insert(0, 'Search')
self.entry.bind('<FocusIn>', self.onfocus)
self.entry.bind('<FocusOut>', self.outfocus)
self.update()
def update(self):
if self.entry.get() == '':
self.entry.insert(0, 'Search')
self.entry.icursor(0)
self.entry.bind('<Key>', self.keypress)
self.master.after(1, self.update)
def onfocus(self, event):
if self.entry.get() == 'Search':
self.entry.configure(justify = 'left')
self.entry.icursor(0)
self.entry.bind('<Key>', self.keypress)
def outfocus(self, event):
if self.entry.get() == 'Search':
self.entry.configure(justify = 'center')
def keypress(self, event):
self.entry.delete(0, END)
self.entry.unbind('<Key>')
感謝您的快速回復。我想我會嘗試使用畫布,也許我可以解決一些問題。 – aelamrn1