Python TK, странная проблема с отображением изображения на холсте - PullRequest
0 голосов
/ 23 июня 2018

Так что у меня странная проблема с TKinter в python. У меня есть BitmapImage. Я проверил изображение, прежде чем сделать его объектом ImageTk.BitmapImage. Затем я говорю объекту canvas создать изображение, а затем pack (). Изображение будет отображаться только в том случае, если я добавлю IMAGE.show () после этого, это вызовет ошибку, потому что вы знаете, что ImageTk не имеет шоу.

ioFile = filedialog.askopenfilename()
hexData = PyUtils.openFile(ioFile)
binData = PyUtils.convertToBinary(hexData)
IMAGE = PyUtils.makeImage(binData)
IMAGE = ImageTk.BitmapImage(IMAGE, background='white')
binViewBox  = tk.Canvas(root, bg='light grey', width=60)
binViewBox.create_image((0,0), image=IMAGE, anchor='nw')
binViewBox.pack(anchor='nw', side=TOP, fill=BOTH, expand=True)

Если я поместу IMAGE.show () прямо здесь, он будет отображаться на холсте, но с ошибками и с ошибками, и я не хочу бросать, кроме как: пройти туда.

1 Ответ

0 голосов
/ 23 июня 2018

Решается передачей переменной my image как глобальной.Что имеет смысл, потому что ранее я использовал классы для запуска графического интерфейса.И теперь нет классов, и поскольку изображение создается внутри функции, изображение собирается после завершения функции и на изображение не ссылаются.До сих пор не знаю, почему передача переменной изображения в функцию не сработала, но я думаю, это останется загадкой.

...