Python.use(better,Tkinter)《余録》Entry(textvariable=)
‖記事一覧‖
Python.use(better, Tkinter)
Entry(textvariable=) 《Python3.1》
《著》森こねこ・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2006/10/28
概要
任意の部品〔widget〕を再配置する方法を紹介します。
Tkinter によるオブジェクト指向プログラミングへの扉を開きます。
※ Tcl/Tk で作成した例題を、Tkinter で再構成しました。
pack(side=)
■ 部品を配置する
アプリケーションを起動すると、次のようなウィンドウが現れます。
上部にキャンバス(黄色)が、下部に入力フィールドが配置されます。キャンバスには、テキスト(courier 24pt)が表示されます。左側のフィールドにフォント名を、右側のフィールドにポイント数を入力すると、指定した値に基づいて、テキストを表示します。 | |
左右のフィールドに値を入力すると、キャンバスには、テキスト(courier 36pt)が表示されます。 | |
左右のフィールドに値を入力すると、キャンバスには、テキスト(helvetica 36pt)が表示されます。 | |
左右のフィールドに値を入力すると、キャンバスには、テキスト(times 36pt)が表示されます。 |
def ex(): root = Tk(); root.title("Canvas.itemconfigure(font=)") canvas = Canvas(root, width=300, height=50, bg="Yellow") canvas.pack() p = 150,30 text = "courier 24" item = canvas.create_text( p, text=text, font=text) tips = TIPS(root, canvas, item) root.tk_menuBar(*tips.menuItems()) root.mainloop() class TIPS(object): def __init__(self, master, canvas, item): self.master = master self.canvas = canvas self.item = item self.var_font = StringVar(master) self.var_size = StringVar(master) def command(self, e): s1 = self.var_font.get() s2 = self.var_size.get() s = "%s %s"%(s1,s2) self.canvas.itemconfigure( self.item, text=s, font=s, ) def menuItems(self): s = [] def menuItems_(textvariable, text, width): label = Label(master=self.master, text=text) label.pack(side=LEFT) s.append(label) entry = Entry( master=self.master, textvariable=textvariable, width=width, borderwidth=2, ) entry.pack(side=LEFT) entry.bind('', self.command) s.append(entry) for textvariable, text, width in [ (self.var_font, "font", 15), (self.var_size, "size", 4), ]: menuItems_(textvariable, text, width) return s