Autor |
Mensaje |
destroyer
Aprendiz
Registrado: Noviembre 2009
Mensajes: 65
Edad: 54 Ubicación:
|
Mostrar Imagen Asociada A Un Archivo
Hola estoy haciendo una aplicacion, en la cual quiero mostrar en un listview o gridview o listcontainer...... o cualquier otro, la imagen asociada de cada uno de los archivos incluidos en el control, es decir algo parecido al explorardor nautilus, que muestra dicha imagen a la izquierda del nombre del archivo. He probado con fileview y no lo muestra. Tambien habia pensado en obtener las propiedades del archivo y ver hay la imagen asociada (al estilo de cuando das propiedades desde nautilus) pero tampoco se como he probado con el comando stat pero no he visto nada
Alguno me podeis ayudar. Gracias
|
#1 Domingo, 08 May 2011, 10:16 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Mostrar Imagen Asociada A Un Archivo
Yo estuve buscando eso mismo tiempo atrás y renuncié. No fui capaz de encontrar la manera como eso se hace.
|
#2 Domingo, 08 May 2011, 13:09 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Mostrar Imagen Asociada A Un Archivo
Se me ocurre que lo hagas tu mismo.
O sea, le asocies a cada extension de archivo un icono, y lo grabas en un archivo de texto plano o de configuracion.
Por ejemplo:
.xcf/gimp.ico
.png/gimp.ico
.gambas/gambas2.ico
.txt/gedit.ico
.c/geany.ico
Y cuando cargas el gridview, por ejemplo, le haces que compruebe la extensión del archivo con el archivo de texto plano (el que contiene el icono relacionado con la extension) y que le asigne el icono y si no lo encuentra, un icono estandar (por ejemplo un interrogante)
Saludos
Edito:
Con el comando "convert -size" de gnu/linux puedes incluso hacer una minuatura de un archivo de imagen, con lo cual personalizas mas la presentación.
http://linux.about.com/od/commands/l/blcmdl1_convert.htm
http://algunostutoriales.blogspot.c...cos-usando.html
última edición por jsbsan el Domingo, 08 May 2011, 23:37; editado 1 vez
|
#3 Domingo, 08 May 2011, 23:32 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Mostrar Imagen Asociada A Un Archivo
Yo estuve buscando eso mismo tiempo atrás y renuncié. N
o fui capaz de encontrar la manera como eso se hace.
x2
esto fue lo que encontre
http://standards.freedesktop.org/sh...pec-latest.html
|
#4 Lunes, 09 May 2011, 02:22 |
|
|
destroyer
Aprendiz
Registrado: Noviembre 2009
Mensajes: 65
Edad: 54 Ubicación:
|
Re: Mostrar Imagen Asociada A Un Archivo
Gracias jsbsan y codificador, pero la imagen a mostrar no depende del tipo de extension del archivo. No depende de eso y puede variar.
Si soplo no encontro nada seguro que es porque no se puede hacer, al menos con gambas, con python he encontrado una funcion que al parecer hace eso, pero no tengo ni idea de como integrarla con gambas y si realmente me vale, porque de python no tengo mucha idea por no decir ninguna, cuando llegue al trabajo la pongo por si alguno sabeis si puedo hacer algo con ella.
gracias
|
#5 Lunes, 09 May 2011, 06:36 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Mostrar Imagen Asociada A Un Archivo
Pues no me entero exactamente por donde van los tiros.
Es un Listview con imágenes lo que tiene Nautilus a la izquierda.
Añades una imagen y un nombre.Quieres añadir la imagen que quieras a esa lista.
Claro, que tiene seis manera de presentar ese lado.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#6 Lunes, 09 May 2011, 07:50 |
|
|
destroyer
Aprendiz
Registrado: Noviembre 2009
Mensajes: 65
Edad: 54 Ubicación:
|
Re: Mostrar Imagen Asociada A Un Archivo
Perdonar si no me he explicado bien, quiero algo como esto:
Me da igual cualquier forma de las marcadas, pero el icono que debe coger es el que tenga asociado el archivo, que como dije antes no depende de la extension de este.
Os pongo el codigo en python con el cual se puede recuperar el icono de un archivo (creo)
import gtk
def get_icon(filename):
image_size = 48
image = gtk.Image()
icon_theme = gtk.icon_theme_get_default()
if isfile(filename):
image.set_from_file(filename)
icon = image.get_pixbuf()
# resize the image to 48 pixels
if icon:
icon = icon.scale_simple(image_size, image_size,
gtk.gdk.INTERP_BILINEAR)
else:
try:
# to fix skype error loading a named icon like skype.png and no
# skype
icon = icon_theme.load_icon(filename.split('.')[0], image_size, 0)
except:
# returns a default icon, which unity uses when no icon is found.
try:
icon = icon_theme.load_icon('twf', image_size, 0)
except GError:
# icon not found, defaulting to the last fallback
icon = icon_theme.load_icon('image-missing', image_size, 0)
return icon
Yo he probado a ejecutarlo y no consigo nada....................
última edición por destroyer el Lunes, 09 May 2011, 09:17; editado 2 veces
|
#7 Lunes, 09 May 2011, 09:15 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Mostrar Imagen Asociada A Un Archivo
Citar: Si soplo no encontro nada seguro que es porque no se puede hacer, al menos con gambas, con python he encontrado una funcion que al parecer hace eso
Dime donde está esa función para que le eche un vistazo. Yo renuncié porque no fui capaz de encontrar ningún sitio donde me dijeran donde está la información necesaria para ello. no solo nautilus. Incluso Google lo hace.
|
#8 Lunes, 09 May 2011, 15:00 |
|
|
destroyer
Aprendiz
Registrado: Noviembre 2009
Mensajes: 65
Edad: 54 Ubicación:
|
Re: Mostrar Imagen Asociada A Un Archivo
Gracias Soplo, la funcion es la que he puesto en el post de arriba, pero la encontre aqui:
http://bazaar.launchpad.net/~unity-...er-editor/files
última edición por destroyer el Lunes, 09 May 2011, 15:09; editado 1 vez
|
#9 Lunes, 09 May 2011, 15:09 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Mostrar Imagen Asociada A Un Archivo
en ese código verás image.gtk.image() que lo que hace es crear un objeto image
Luego llena ese objeto con la función image.set_from_file(filename) y eso es lo que yo quiero saber como se hace. En este caso llama a una rutina de gtk. Imagino que hay otra en QT o bien sabe como lo hacen ellos para repetir lo mismo en gambas. Seguramente lo mas sencillo sea llamar a la rutina QT correspondiente.
|
#10 Lunes, 09 May 2011, 16:04 |
|
|
|