1
私はちょうど簡単なテキストエディタを作成し始めました。私はすでにいくつかのキー押下にいくつかの関数をバインドしていますが、現在、Returnキーを押しながら操作する関数を追加しようとしています。目的は、テキストウィジェットに最後に入力された文字を削除することです。私のコードは次のとおりです:バインド機能を使用してPythonのテキストウィジェットから文字を削除
from tkinter import *
from tkinter import filedialog
import os
root = Tk()
root.geometry('{}x{}'.format(500, 500))
def addchar(event):
w.insert(END, event.char)
def deletechar(event):
current = w.get()
new = current[:-1]
w.delete(0,END)
w.insert(END, new)
def savefile(event):
file = filedialog.asksaveasfilename(defaultextension=".txt")
if file is None:
return
text2save = str(w.get())
file.append(data)
file.close()
w = Entry(root, bd=1)
w.pack()
w.place(x=0, y=0, width=500)
root.bind("<Key>", addchar)
root.bind("<BackSpace>", deletechar)
root.bind("<Control-s>", savefile)
root.bind("<Return>", newline)
root.mainloop()
問題は、最後に入力した文字を削除するために削除を押しても削除されないことです。どんな助けもありがたい。 P.S. Iveはテキストをファイルに保存するためにsavefile関数を追加しようとしましたが、誰かが助けてもらえればうまくいきません:)
これを読んで始めてください:http://stackoverflow.com/a/11542200/7432 –