Форум сайта python.su
0
У меня не получается каректное оновление картинки. ХОтелось бы уввидеть кусок кода, в котором когда происходит кое-либо событие (не важно какое) rotate изображения менялся
Офлайн
58
Не обновляется где?
В Tkinter? А проверяете сам объект и он изменился?
Офлайн
0
Давайте я вам сейчаас код выложу
Офлайн
0
from tkinter import * from PIL import Image, ImageTk def obnovit(event): image2 = image1.rotate(60) image3 = ImageTk.PhotoImage(image2) label["image"] = image3 root = Tk() image1 = Image.open('brod.png') image2 = image1.rotate(0) image3 = ImageTk.PhotoImage(image2) label = Label(root, image = image3, background = "white") root.bind("<Button-1>", obnovit) label.grid() root.mainloop()
Офлайн
58
Вопрос еще открыт?
Офлайн
0
Да! Открыт, проблема в том что код работает неккоректо, тыкнете в ошибку.
Офлайн
58
В ошибку ткнуть не могу.
Их слишком много. Пришлось написать самому за Вас. Так как с ООП Вы не очень дружны, то я написал с использованием ненавистных мне global.
Держите
import tkinter from PIL import ImageTk, Image # angle = 0 # def push(event, img): global image global angle global image_ angle += 10 canvas.delete(img) image_ = ImageTk.PhotoImage(image.rotate(angle, expand=True)) img = canvas.create_image(100, 100, image=image_, anchor="center") root.update() # root = tkinter.Tk() root.geometry("400x400+100+100") # image = Image.open('image.png') image = image.convert("RGBA") image_ = ImageTk.PhotoImage(image) # canvas = tkinter.Canvas(root, width=200, height=200) canvas.place(relx=0.5, rely=0.5, anchor="center") img = canvas.create_image(100, 100, image=image_, anchor="center") # but = tkinter.Button(root, text="rotate") but.bind("<Button-1>", lambda event: push(event, img)) but.place(relx=0.5, rely=0.9, anchor="center") # root.mainloop()
Отредактировано 4kpt_II (Апрель 9, 2014 00:57:44)
Офлайн
0
Писал писал, дописал до того что пушка танка смотрит за мышкой и танк едет.
Нашёл в Tkinter кучу нехороших вещей. Надесь будет лучше если я перееду на PyQt + научусь хорошо польтзоваться ООП. И вообще, где ООП использовать надо? Как определить? А то я в нём смысла пока не нахожу.
Офлайн
58
RIKUDO05
Нашёл в Tkinter кучу нехороших вещей.
RIKUDO05
И вообще, где ООП использовать надо?

RIKUDO05
А то я в нём смысла пока не нахожу.
Отредактировано 4kpt_II (Апрель 9, 2014 15:03:48)
Офлайн
0
Нельзя сделать так что-бы обрабатывало нормально 2 клавиши и пауза после нажатия на клавишу…
Офлайн