発生している問題
tkinterのcanvasでは
canvas.create_text(x座標,y座標,配置する物)という感じで文章をcanvas上に配置できるのですが、ただこの時指定するx,y座標値はおそらく物体の中心点に合わせていると思うんです。
そのためもっと長い文章あるいは短い文章を配置しようと思うとずれてしまいます。
一方、tkinterで文章などをplaceで配置するときは文章の左上の点を座標値に合わせて配置しているため文章が長かったり短かったりしてもずれたりしないんです
canvasの文章配置でtkinterの様に物体の左上の点を座標値に合わせて配置する方法ってありますか?
該当のソースコード
canvasの方の文章の長さを変えるとずれるけど、labelの方は変えてもずれない
import tkinter as tk class GUI(object): def __init__(self): self.root=tk.Tk() self.root.geometry("260x200") self.Canvas = tk.Canvas(self.root,bg="white", width=400, height=350) self.Canvas.pack() self.Sentence=self.Canvas.create_text(45, 140, text="何をしようかな") self.Sentence=tk.Label(text="何をしようかな") self.Sentence.place(x=45,y=140) self.root.mainloop() gui=GUI()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/20 11:25