Tkinter cambio de imagen por otra
Publicado por Jamyz (11 intervenciones) el 30/04/2019 16:41:00
Hola,
Tengo una ventana por tkinter con un boton para abrir una imagen en vez de la imagen por defecto.
Pero en vez de aparecer en el label2, me aparece por debajo del boton.
Alguna idea ? Gracias.
Tengo una ventana por tkinter con un boton para abrir una imagen en vez de la imagen por defecto.
Pero en vez de aparecer en el label2, me aparece por debajo del boton.
Alguna idea ? Gracias.
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
63
64
65
66
67
68
69
70
from tkinter import *
from tkinter import ttk
import sqlite3
import tkinter as tk
from tkinter import messagebox
import os
import configparser
import tkinter
from PIL import Image, ImageTk
from tkinter import filedialog
from PIL import ImageTk, Image
import tkinter
Product = Tk()
Product.title ('App - Add Product')
Product.iconbitmap(r'./local/pics/xCollectibles.ico')
# #SHOW IMAGE IN FRAME
def openfn():
filename = filedialog.askopenfilename(title='App - Select a pic')
return filename
def open_img():
global img
x = openfn()
img = Image.open(x)
img = img.resize((100, 100), Image.ANTIALIAS)
img = ImageTk.PhotoImage(img)
label2 = Label(frame, image=img).pack()
# #SHOW IMAGE IN FRAME
def save_image():
print(image_names)
#FRAME PRODUCT
frame = LabelFrame (Product, text = 'Product Name')
frame.pack(anchor=NW)
label = Label (frame, text = 'Product:').pack(anchor=N)
name = ttk.Entry(frame).pack(anchor=N)
label1 = Label (frame, text = 'Pic:').pack(anchor=N)
# ###OPEN DEFAULT IMAGE
stim_filename = "./local/pics/none.png"
PIL_image = Image.open(stim_filename)
width = 100
height = 100
use_resize = False
if use_resize:
PIL_image_small = PIL_image.resize((width,height), Image.ANTIALIAS)
else:
PIL_image_small = PIL_image
PIL_image_small.thumbnail((width,height), Image.ANTIALIAS)
img = ImageTk.PhotoImage(PIL_image_small)
label2 = Label(frame, image = img)
label2.image = img # keep a reference!
label2.pack()
###OPEN DEFAULT IMAGE
btn = Button (frame, text = 'Add Pic', command=open_img).pack(anchor=S)
# #FRAME PRODUCT
# #FRAME INFO
# frame1 = LabelFrame (Product, text = 'Info Maker')
# frame1.grid (row = 0, column = 1, sticky=NW)
# Label (frame1, text = 'Product:').grid (row = 1, column = 0)
# name = ttk.Entry(frame1)
# name.grid (row = 2, column = 0)
# #FRAME INFO
btn_save = Button (Product, text = 'save', command=save_image).pack(side=BOTTOM, anchor=W)
Product.mainloop()
Valora esta pregunta
0