0
リーグの伝説などのゲームのためのマップ上に単語を置くためにtkinterでguiを構築しようとします。 tkinterでこのようなguiをどれくらい速く作ることができますか驚くほどですが、私は単独では解決できない問題に遭遇しますそれはそうと:クリックイベントのため背景tkinterとPILに複数のイメージを表示しますか?
機能(キャンバス/マップ上の単語の絵を作成します):
def sightstone(event):
i = Image.open('Sightstone_item.png')
i = i.resize((10, 10), Image.ANTIALIAS)
img = ImageTk.PhotoImage(i)
sword = tk.Label(panel, image=img, compound=tk.CENTER)
sword.place(x=event.x, y=event.y, width=10, height=10)
sword.image = img
n = len(words) + 1
string = 'sword '
words.update({string + '%d' % n: [(event.x, event.y)]})
dump.update({string + '%d' % n: [sword, img, i]})
print('clicked at', event.x, event.y)
休憩をそれを設定するために:私はsword1を作成し、2
window = tk.Tk()
Canvas = tk.Canvas(window, width=768, height=810)
img = Image.open('srift.jpg')
img = img.resize((768, 810), Image.ANTIALIAS)
mapimg = ImageTk.PhotoImage(img)
panel = tk.Label(window, image=mapimg)
panel.bind("<Control-Button-1>", sightstone)
panel.place(x=0, y=0, relwidth=1, relheight=1)
i = Image.open('Sightstone_item.png')
i = i.resize((10, 10), Image.ANTIALIAS)
img = ImageTk.PhotoImage(i)
sword1 = tk.Label(panel, image=img, compound=tk.CENTER)
sword1.place(x=384, y=405, width=10, height=10)
sword1.image = img
sword2 = tk.Label(panel, image=img, compound=tk.CENTER)
sword2.place(x=405, y=405, width=10, height=10)
sword2.image = img
Canvas.pack()
words = {}; dump = {}; string = ''
Canvas.find_all()
window.mainloop()
注意を私がどのようにそれは蟻です。しかしもし私がctrl +左クリックして別の単語を作成すると、sword1と2が消えます。私がevent.xとevent.yを取得したり、単語の座標を取得することが重要なのです。