Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/75: Рейтинг темы: голосов - 75, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 12.08.2015
Сообщений: 4
1

Изменение картинки при нажатии на кнопку

11.08.2018, 01:55. Показов 14788. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброй ночи! Сегодня начал изучать библиотеку PIL (Pillow) - я новичок

Пытаюсь сделать справочник городов своего региона, при нажатии на кнопку с названием города, картинка должна меняться на соответствующую. Что я делал:
1) Пытался изменять путь к картинке внутри функции, указывая в атрибуте функции город def naz(city)
2) Пытался привязать картинку к Label и изменять через configure атрибут image

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from tkinter import *
from PIL import ImageTk, Image
 
root = Tk()
root.geometry('450x330')
 
canvas = Canvas(root,width=800,height=600)
canvas.pack()
    
img = Image.open("magas.png")
 
img.thumbnail((200, 200), Image.ANTIALIAS)
 
image = ImageTk.PhotoImage(img)
imagesprite = canvas.create_image(100,115,image=image)
 
def naz():
    t1['text'] = "Город Назрань был основан..."
 
def mag():
    t1['text'] = "Город Магас был основан..."
 
def kar():
    t1['text'] = "Город Карабулак был основан..."
 
def mal():
    t1['text'] = "Город Малгобек был основан..."
 
t1 = Label(root)
t1.place(x=200, y=50)
 
t2 = Label(root, text="Описание 2")
t2.place(x=200, y=100)
 
t3 = Label(root, text="Описание 3")
t3.place(x=200, y=150)
 
btn1 = Button(root, text="Назрань", width=25, command=naz)
btn1.place(x=25, y=240)
 
btn2 = Button(root, text="Магас", width=25, command=mag)
btn2.place(x=240, y=240)
 
btn3 = Button(root, text="Карабулак", width=25, command=kar)
btn3.place(x=25, y=280)
 
btn4 = Button(root, text="Малгобек", width=25, command=mal)
btn4.place(x=240, y=280)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2018, 01:55
Ответы с готовыми решениями:

Изменение фона формы при нажатии на кнопку
Добрый день, я начал изучать Python, и у меня появился вопрос, как изменить фон формы по нажатию...

Реализовать изменение картинки при нажатии на кнопку
нужно чтоб после нажатия на кнопку картинка в image поменялась

Появление картинки при нажатии на кнопку
Подскажите как написать программу в которой при нажатии на кнопку (button1_Click) в окне...

Смена картинки при нажатии на кнопку
Помогите в кодах записать. Что бы при нажатий на кнопку менялась картинка картинки т.е C# 1-...

2
1291 / 908 / 479
Регистрация: 05.12.2013
Сообщений: 3,073
11.08.2018, 05:45 2
Лучший ответ Сообщение было отмечено DikDiv06 как решение

Решение

Так примерно

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from tkinter import *
from PIL import ImageTk, Image
 
root = Tk()
root.geometry('450x330')
 
canvas = Canvas(root,width=800,height=600)
canvas.pack()
    
 
def load_image(name):
    img = Image.open(name)
    img.thumbnail((200, 200), Image.ANTIALIAS)
    return ImageTk.PhotoImage(img)
 
def set_image(image):
    canvas.delete("all")
    canvas.create_image(100,115,image=image)
 
image = load_image("magas.png")
image2 = load_image("magas2.png")
 
set_image(image)
 
def naz():
    t1['text'] = "Город Назрань был основан..."
    set_image(image2)
 
def mag():
    t1['text'] = "Город Магас был основан..."
    set_image(image)
 
def kar():
    t1['text'] = "Город Карабулак был основан..."
    set_image(image2)
 
def mal():
    t1['text'] = "Город Малгобек был основан..."
    set_image(image)
 
t1 = Label(root)
t1.place(x=200, y=50)
 
t2 = Label(root, text="Описание 2")
t2.place(x=200, y=100)
 
t3 = Label(root, text="Описание 3")
t3.place(x=200, y=150)
 
btn1 = Button(root, text="Назрань", width=25, command=naz)
btn1.place(x=25, y=240)
 
btn2 = Button(root, text="Магас", width=25, command=mag)
btn2.place(x=240, y=240)
 
btn3 = Button(root, text="Карабулак", width=25, command=kar)
btn3.place(x=25, y=280)
 
btn4 = Button(root, text="Малгобек", width=25, command=mal)
btn4.place(x=240, y=280)
 
root.mainloop()
1
0 / 0 / 0
Регистрация: 12.08.2015
Сообщений: 4
18.08.2018, 02:16  [ТС] 3
Благодарствую! Вы великолепны!
0
18.08.2018, 02:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2018, 02:16
Помогаю со студенческими работами здесь

Получить value картинки при нажатии на кнопку
Добрый день. В ответ на запрос поиска по сайту выгружаются данные через Thymeleaf: <table ...

Смена картинки при нажатии на кнопку
Как можно сдлеать что бы при нажатии на кнопку сначала была одна картинка при нажать второй раз...

Перемешать картинки при нажатии на кнопку
нужно при нажатии кнопки перемешать картинки мой код но он не работает когда я начинаю находить...

В pictureBox менять картинки при нажатии на кнопку
Здравствуйте подскажите пожалуйста как сделать с помощью кнопки чтобы менялось изображения в...

Смена картинки в PictureBox при нажатии на кнопку
Help my!!! Хочу при нажатии на кнопку менять картинку в PictureBox. Пробую так: ...

Замена картинки в picturebox при нажатии на кнопку
Нужно реализовать что-то вроде галереи, где есть кнопки листнуть влево, листнуть вправо. формируем...

Менять картинки каждый раз при нажатии на кнопку
Есть pictureBox и 2 кнопки. При нажатии на кнопку "вперед" картинка меняется на следующую, а при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru