python tkinter
フォームに入力した文字列が図形の中に映し出されるプログラムを作成しています。
何回も処理を行うと、前に記入した文字の上に新規の文字列が重なって表示されてしまいます。
前の文字列を新規に記入した文字列に置き換えたいのですが、初心者のためやり方がわかりません...
ご教授いただけますと幸いです。
該当のソースコード
import sys
import tkinter as tk1
root = tk1.Tk()
root.title(u"Software Title")
c0 = tk1.Canvas(root, width = 150, height = 150)
oval_id = c0.create_oval(10, 10, 140, 100, tags = 'o')
c0.itemconfigure(oval_id, fill = 'lightblue', outline = 'blue')
EditBox = tk1.Entry()
EditBox.insert(tk1.END,"記入")
EditBox.pack()
def btn_click():
oval_pos = c0.coords(oval_id)
txt = str(EditBox.get())
text_id = c0.create_text(10, 10, text=txt)
text_size = c0.bbox(text_id)
oc_x = oval_pos[2] / 2
oc_y = oval_pos[3] / 2
tc_x = text_size[2] / 2
tc_y = text_size[3] / 2
c0.move(text_id, oc_x - ( oval_pos[0]/2 ), oc_y - tc_y)
c0.pack()
btn = tk1.Button(root, text='作成', command=btn_click)
btn.place(x=320, y=0)
root.mainloop()

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/07/26 11:24