Entryウィジェットを使ってTkinterで検索バーを開発しようとしています。今のところ、ユーザーが<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