146 / 1 / 1
Регистрация: 06.10.2019
Сообщений: 17

Tkinter не работает внутри моей функции

29.04.2020, 09:30. Показов 903. Ответов 0

Студворк — интернет-сервис помощи студентам
Добрый день, недавно столкнулся с проблемой, что если любым способом (canvas или pack) выводить картинку, но делать это из собственной функции то выводится пустой объект, который соответствует заданным размерам и занимает место как-будто он есть, однако если делать тоже самое но без использования функции то все нормально. Подскажите как решить. Сам код работает исправно
Заранее спасибо
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
import requests 
import re
import tkinter as tk
from PIL import Image, ImageTk
from io import BytesIO
root = tk.Tk()
canvas = tk.Canvas(root,width=500,height=500)
 
headers = {
   'User-Agent': 'Юзер агент'
        }                       
def buildimg(g):
    image = ImageTk.PhotoImage(Image.open(BytesIO(g)))                   #BytesIO нужно чтобы работа с байт кодом как с изображением
    canvas.create_image(300, 300, image=image)                           #Выводим изображение с использование canvas, хотя можно и pack(), но это всераавно не сработало
 
url1 = ('https://prnt.sc/rw0juc')                        
r = requests.get(url1, headers = headers)                                #Производим "захват" веб-страницы
text = r.text                                                            #Просматриваем структуру страницы
p = re.compile(r'image/.{22}.png')                                       #Регулярное выражение для поиска ссылки на картинку
img = re.search(p,text)                                                  #Производим поиск с помощью RegEx по pattern = "p" и обЪект поиска = "tx"
if img != None:                                                          #Если регулярное выражение нашло ссылку то...
    u = 'https://image.************/'+str(img)[44:76]                    #Присаиваем переменное "u" значение str от резульата поиска регулярки 
    v = requests.get(u, headers = headers)                               #Производим "захват" веб-страницы с картинкой
    g = v.content                                                        #Беру байт код картинки
 
canvas.pack()                                                            #Упаковываем canvas
buildimg(g)                                                              #Передаю в функцию байт код картинки для того чтобы вывести картинку
btnnext = tk.Button(text = ">")                                          #Кнопки потом доделаю
btnprev = tk.Button(text = "<")                                          
btnnext.pack()                                                           #Просто кнопки
btnprev.pack()
                                                        
root.mainloop()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2020, 09:30
Ответы с готовыми решениями:

Сделайте поправки к моей конфигурации (внутри).
DDR2 PC6400 (800MHz) 2GB NCP Жёсткий диск SATA 250Gb Seagate ST3250410AS Barracuda 7200.10 16Mb 3.0Gb/s Корпус Linkworld 336-09...

Не работает strcmp внутри функции
int k = strcmp(*mas, *mas) работает внутри функции int main, но не работает при вызове void Sort. Подсвечивается Sort в последней строке...

Не работает функция внутри функции
Почему в функции function numberToText($number) не выполняется функция millionWord($number,$work1,$work2,$work5) ? $amount =...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2020, 09:30
Помогаю со студенческими работами здесь

Не работает поиск внутри функции
Здравствуйте. Только начал изучать функции, и не пойму почему не работает поиск в строке внутри функции: function mytime() {$string...

Не работает scope внутри функции
Привет всем народ! кто сможет помогите короче проблема у меня такая ...

Открытие документов Word внутри моей формы
Всем доброго времени суток! Возникла такая проблема. Пишу SDI-приложение, в котором надо открывать документы Word. Соответственно, есть...

Метод substring() не работает внутри функции
Всем добрый вечер. Ребят, что за фигня? В функции метод substring() отказывается работать, а за ее пределами работает без проблем, почему...

Протокол MODBUS. Не работает вызов вызов функции из подключенной библиотеки DLL внутри функции purebasic
Доброго дня всем. Задача определить ip подключенного устройства. При работе непосредственно из основного кода программы ip...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru