Как заменить перетаскиваемый холст изображением JPEG в Tkinter? - PullRequest
0 голосов
/ 24 октября 2019

Код

from tkinter import *

root = Tk()
root.state('zoomed')


def drag(event):
    event.widget.place(x=event.x_root, y=event.y_root,anchor=CENTER)



card = Canvas(root, width=50, height=50, bg='blue')
card.place(x=300, y=600,anchor=CENTER)


card.bind("<B1-Motion>", drag)


root.mainloop()

Вопрос

Вместо подвижного синего квадрата, Как я могу заменить его конкретным файлом изображения JPEG?

Но, не задавая ширину и высоту, какими бы ни были высота и ширина изображения, оставьте его как есть.

То, что я имею в виду, автоматически загружает изображение соригинальный размер

1 Ответ

0 голосов
/ 24 октября 2019

Просто используйте виджет Label:

from tkinter import *

root = Tk()
root.state('zoomed')

def drag(event):
    event.widget.place(x=event.x_root, y=event.y_root,anchor=CENTER)

pic = PhotoImage(file="pic_file_name")

label = Label(root,image=pic)
label.place(x=300, y=600,anchor=CENTER)
label.img = pic

label.bind("<B1-Motion>", drag)

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...