Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Tkinter изменение картинки с помощью radobutton [RSS Feed]

#1 Дек. 15, 2010 18:25:23

sligel
От:
Зарегистрирован: 2010-12-15
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter изменение картинки с помощью radobutton

Доброго времени суток, знатоки подскажите что не так делаю.
Хочу добиться чтобы при нажатии на button 2 появлялась картинка 2,
и 1- картинка 1 соответственно. Версия питона 3.1.2

import tkinter

def weck():
if varRad.get()=="1":
global im
im=tkinter.PhotoImage(file="1_1.gif")
else:
global im
im=tkinter.PhotoImage(file="2_1.gif")




main=tkinter.Tk()

fr1=tkinter.Frame(main,relief="groove",bd=1)
fr1.place(x=10,y=10)

varRad=tkinter.StringVar()
varRad.set("1")

but1=tkinter.Radiobutton(fr1,text="1",variable=varRad,value="1",command=weck)
but1.grid(row=0,column=0,sticky="w")

but2=tkinter.Radiobutton(fr1,text="2",variable=varRad,value="2",command=weck)
but2.grid(row=1,column=0,sticky="w")

fr2=tkinter.Frame(main,height=100,width=100, relief="groove",bd=1)
fr2.place(x=50,y=10)

weck()
bild1=tkinter.Label(fr2)
bild1["image"]=im
bild1.pack()


main.mainloop()



Офлайн

#2 Дек. 15, 2010 22:32:53

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Tkinter изменение картинки с помощью radobutton

В вашем коде, вы, грубо говоря, “скопировали” картинку на виджет, после этого заменяете “оригинал” на другую картинку. Естественно ваша картинка на виджете останется прежней.
Как то так…

im1=tkinter.PhotoImage(file="1_1.gif")
im2=tkinter.PhotoImage(file="2_1.gif")
def weck():
if varRad.get()=="1":
bild1["image"]=im
else:
bild1["image"]=im2
Здесь каждый раз мы “копируем” нужную картинку на виджет
Разницу поняли?



Офлайн

#3 Дек. 15, 2010 23:02:57

sligel
От:
Зарегистрирован: 2010-12-15
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter изменение картинки с помощью radobutton

Разницу понял. Помогло. Благодарствую



Офлайн

  • Начало
  • » GUI
  • » Tkinter изменение картинки с помощью radobutton[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version