Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 8, 2019 13:46:44

nick789
Зарегистрирован: 2016-09-21
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не получается вывести картинку

 #!/usr/bin/python3.5
# -*- coding: utf-8 -*-
from tkinter import *
from PIL import Image, ImageTk
def onClick_ButOpen_ToolBar():
    pass
    File =  "man.jpg"
    img = ImageTk.PhotoImage(Image.open(File))
    canvas = Canvas(frame, bd=0,   width=1500, height=800 )
    canvas.create_image(0,0,image=img, anchor="nw")
    canvas.pack()
root = Tk()
root.title("Графическая программа на Python")
root.geometry("1500x700")
root.resizable(False, False)  
myToolBar = Frame(height=130, bd=1, relief=RAISED)
imgToolBarOpen = ImageTk.PhotoImage(file="open_25.png")
butToolBarOpen = Button(myToolBar, image=imgToolBarOpen,  width=25,height=25,  command=onClick_ButOpen_ToolBar)
butToolBarOpen.pack(side=LEFT, padx=2,pady=2)
myToolBar.pack(side=TOP, fill=X)
frame = Frame(root, bd=2, relief=SUNKEN )
frame.pack( fill=BOTH, expand=1 )  
#File = "big.jpg"
#img = ImageTk.PhotoImage(Image.open(File))
#canvas = Canvas(frame, bd=0,   width=1500, height=800 )
#canvas.create_image(0,0,image=img, anchor="nw")
#canvas.pack()
root.mainloop()

Почему при вызове onClick_ButOpen_ToolBar не появляется картинка man.jpg ?
А если убрать коментирование “#” то картинка big.jpg появляется ?

Офлайн

#2 Фев. 8, 2019 16:07:21

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Не получается вывести картинку

В функции onClick_ButOpen_ToolBar() нужно оставить только создание картинки:

 from tkinter import *
from PIL import Image, ImageTk
 
def onClick_ButOpen_ToolBar():
    canvas.create_image(0,0,image=img, anchor="nw")
 
root = Tk()
root.title("Графическая программа на Python")
root.geometry("1500x700")
root.resizable(False, False)
myToolBar = Frame(height=130, bd=1, relief=RAISED)
imgToolBarOpen = ImageTk.PhotoImage(file="open_25.png")
butToolBarOpen = Button(myToolBar, image=imgToolBarOpen,  width=25,height=25,  command=onClick_ButOpen_ToolBar)
butToolBarOpen.pack(side=LEFT, padx=2,pady=2)
myToolBar.pack(side=TOP, fill=X)
frame = Frame(root, bd=2, relief=SUNKEN)
frame.pack( fill=BOTH, expand=1 )
File = "big.jpg"
img = ImageTk.PhotoImage(Image.open(File))
canvas = Canvas(frame, bd=0,   width=1500, height=800 )
canvas.pack()
root.mainloop()

Отредактировано rami (Фев. 8, 2019 18:41:44)

Офлайн

#3 Фев. 11, 2019 09:28:38

nick789
Зарегистрирован: 2016-09-21
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не получается вывести картинку

 def onClick_ButOpen_ToolBar():
    File =  "man.jpg"

Из кода пропала сама картинка man.jpg

Хочется на кнопку повесить диалог открытия файла:
  File = fd.askopenfilename(filetypes=(("JPG files", "*.jpg"),  ))

Отредактировано nick789 (Фев. 11, 2019 09:36:45)

Офлайн

#4 Фев. 12, 2019 11:46:34

nick789
Зарегистрирован: 2016-09-21
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Не получается вывести картинку

http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm

 def onClick_ButOpen_ToolBar():
    File =  "man.jpg"
    canvas.img = ImageTk.PhotoImage(Image.open(File))
    vb = canvas.create_image(0,0,image=canvas.img, anchor="nw")

Как то так.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version