Форум сайта python.su
0
#!/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()
Офлайн
72
В функции 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)
Офлайн
0
def onClick_ButOpen_ToolBar(): File = "man.jpg"
File = fd.askopenfilename(filetypes=(("JPG files", "*.jpg"), ))
Отредактировано nick789 (Фев. 11, 2019 09:36:45)
Офлайн
0
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")
Офлайн