機械です。
Tkinterのバインド(キーボードやマウスのイベントとTk部品を結びつける
の習作として、こんなん作ってみました。
テキストエディタ、ではないです。
単に、文字が書けるだけ(しかも英文字専用・・・キーイベントを
キャッチしてるだけなので、当たり前ですが・・・)
ただし、入力を始める前に一度Tabキーを押さないとフォーカスが
キャンバスに移らないので、入力できません(ここらへんは、たしか
フォーカスを移すメソッドがあったはずなんだけど・・・)
一応、BackSpace(BackDelete)は対応してますが、その他については
未対応。
Enterによる改行も、Tab入力も、とりあえずなぜか使えてしまう・・・
ここらへん、ファジーでいいです。
あと、Deleteキーを押すと、全画面クリアされます。
--^ vcon0.py
from Tkinter import *
root = Tk()
frame = Frame(root)
canvas = Canvas(frame,width=480,height=360,bg="black")
strings=""
def showText():
canvas.create_text(50,50,text=strings,
fill="white",
anchor=NW,
font = "Helvetica 15 bold"
)
def typeScript(event):
canvas.delete(ALL)
global strings
strings = strings + event.char
showText()
def backSpace(event):
canvas.delete(ALL)
global strings
strings = strings[:-1]
showText()
def delAll(event):
canvas.delete(ALL)
canvas.bind("<BackSpace>",backSpace)
canvas.bind("<Delete>",delAll)
canvas.bind("<Key>",typeScript)
canvas.pack()
frame.pack()
root.mainloop()
--$
Winの方は、ファイルの拡張子を.pyから.pywに変更すると、DOSプロンプト
やコマンドプロンプトが出ないので、うっとーしくなくていいです。
適当に遊んでください。
※そういえば、バインドについての記述って、結構少ないんだよなぁ。
機械伯爵