Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 6, 2014 15:58:12

RIKUDO05
Зарегистрирован: 2014-03-31
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обновление картинки

У меня не получается каректное оновление картинки. ХОтелось бы уввидеть кусок кода, в котором когда происходит кое-либо событие (не важно какое) rotate изображения менялся

Офлайн

#2 Апрель 6, 2014 16:22:58

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Обновление картинки

Не обновляется где?
В Tkinter? А проверяете сам объект и он изменился?

Офлайн

#3 Апрель 6, 2014 19:03:34

RIKUDO05
Зарегистрирован: 2014-03-31
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обновление картинки

Давайте я вам сейчаас код выложу

Офлайн

#4 Апрель 6, 2014 19:05:18

RIKUDO05
Зарегистрирован: 2014-03-31
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обновление картинки

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()

Вот, жму на картинку, а там белая картинка вместо того что-бы градусы изменить. Градусы изменять можно, проверял.

Офлайн

#5 Апрель 6, 2014 22:31:14

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Обновление картинки

Вопрос еще открыт?

Офлайн

#6 Апрель 8, 2014 16:40:02

RIKUDO05
Зарегистрирован: 2014-03-31
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обновление картинки

Да! Открыт, проблема в том что код работает неккоректо, тыкнете в ошибку.

Офлайн

#7 Апрель 9, 2014 00:55:48

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Обновление картинки

В ошибку ткнуть не могу.
Их слишком много. Пришлось написать самому за Вас. Так как с ООП Вы не очень дружны, то я написал с использованием ненавистных мне 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()

Еще рекомендую почитать на досуге ЭТО!!!, чтобы не писать from tkinter import* никогда.

P.S. Будут вопросы - пишите…

Отредактировано 4kpt_II (Апрель 9, 2014 00:57:44)

Офлайн

#8 Апрель 9, 2014 14:13:09

RIKUDO05
Зарегистрирован: 2014-03-31
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обновление картинки

Писал писал, дописал до того что пушка танка смотрит за мышкой и танк едет.
Нашёл в Tkinter кучу нехороших вещей. Надесь будет лучше если я перееду на PyQt + научусь хорошо польтзоваться ООП. И вообще, где ООП использовать надо? Как определить? А то я в нём смысла пока не нахожу.

Офлайн

#9 Апрель 9, 2014 15:03:30

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Обновление картинки

RIKUDO05
Нашёл в Tkinter кучу нехороших вещей.

Каких это, если не секрет?

RIKUDO05
И вообще, где ООП использовать надо?

Везде

RIKUDO05
А то я в нём смысла пока не нахожу.

Значит пока Вам рано еще на ООП переходить.

Отредактировано 4kpt_II (Апрель 9, 2014 15:03:48)

Офлайн

#10 Апрель 12, 2014 18:10:08

RIKUDO05
Зарегистрирован: 2014-03-31
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обновление картинки

Нельзя сделать так что-бы обрабатывало нормально 2 клавиши и пауза после нажатия на клавишу…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version