Código de Python - FileSelection

Imágen de perfil

FileSelectiongráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 10 de Noviembre del 2008 por Xavi
5.341 visualizaciones desde el 10 de Noviembre del 2008. Una media de 14 por semana
Ejemplo de utilización de un selector de ficheros (FileSelection) con Python 2.5 y GTK 2.

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 10 de Noviembre del 2008gráfica de visualizaciones de la versión: Versión 1
5.342 visualizaciones desde el 10 de Noviembre del 2008. Una media de 14 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
 
#
# pygtk
#
# Ejemplo de utilizacion de un selector de fichero (FileSelection)
# 
# http://www.lawebdelprogramador.com
#
 
import pygtk
# Indicamos que deseamos utilizar la versión 2.0 de gtk
pygtk.require('2.0')
import gtk
import os
 
class X(object):
    def __init__(self):
        # Creamos la ventana. Indicamos que se desea una ventana sometida a las
        # decoraciones y posicionamiento del manejador de ventanas.
        self.window=gtk.Window(gtk.WINDOW_TOPLEVEL)
 
        # Conector para cuando se va a cerrar la ventana
        self.window.connect("destroy", self.destroy, None)
 
        # Establece el grosor del borde de la ventana.
        self.window.set_border_width(10)
 
        # Creamos una caja vertical...
        vbox=gtk.VBox(True)
 
        # Añadimos una etiqueta para mostrar la url del fichero seleccionado
        self.labelUrl=gtk.Label()
        # Indicamos la anchura y altura minima
        self.labelUrl.set_size_request(400,-1)
        self.labelUrl.show()
        vbox.pack_start(self.labelUrl)
 
        # Añadimos una etiqueta para mostrar el nombre del fichero seleccionado
        self.labelFile=gtk.Label()
        # Indicamos la anchura y altura minima
        self.labelFile.set_size_request(400,-1)
        self.labelFile.show()
        vbox.pack_start(self.labelFile)
 
        # Añadimos un boton para seleccionar un fichero
        button=gtk.Button("Selecciona un fichero")
        button.connect("clicked",self.selectFile, None)
        button.show()
        vbox.pack_start(button)
 
        vbox.show()
        self.window.add(vbox)
        self.window.show()
 
    def selectFile(self,widget,data=None):
        self.file=gtk.FileSelection("Selecciona un fichero")
        self.file.ok_button.connect("clicked",self.button_ok)
 
        # Podemos acceder a cualquiera de los controles contenidos en su interior
        # haciendo referencia a:
        #    self.file.dir_list (gtk.TreeView) Lista de directorios
        #    self.file.file_list (gtk.TreeView) lista de ficheros
        #    self.file.selection_entry (gtk.Entry) Entrada de seleccion
        #    self.file.selection_text (gtk.Label) Texto de seleccion
        #    self.file.main_vbox (gtk.VBox) Caja vertical principal
        #    self.file.ok_button (gtk.Button) Boton ok
        #    self.file.cancel_button (gtk.Button) Boton cancelar
        #    self.file.help_button (gtk.Button) Boton ayuda
        #    self.file.history_pulldown (gtk.OptionMenu) Desplegable con el historial de directorios
        #    self.file.history_menu (gtk.Menu) Menu de historia. Parte de "history_pulldown"
        #    self.file.fileop_dialog (gtk.Dialog) Caja de dialog usada para mostrar el gtk.FileSelection
        #    self.file.fileop_entry (gtk.Entry) Entrada de texto
        #    self.file.fileop_file Nombre del fichero
        #    self.file.fileop_c_dir (gtk.Button) Boton para crear nueva carpeta
        self.file.fileop_c_dir.hide()
        #    self.file.fileop_del_file (gtk.Button) Boton para borrar un fichero
        self.file.fileop_del_file.hide()
        #    self.file.fileop_ren_file (gtk.Button) Buton para renombrar un fichero
        #    self.file.button_area (gtk.ButtonBox) Area para los botones fileop_c_dir, fileop_del_file y fileop_ren_file
        #    self.file.action_area (gtk.HBox) Area de accion
 
        # Cuando pulsemos el boton "Cancelar", destruimos la ventana.
        self.file.cancel_button.connect("clicked",lambda w:self.file.destroy())
        # Indicamos que nos muestra la ruta del usuario
        self.file.set_filename("~/")
        self.file.show()
 
    # Cuando se pulsa el boton ok...
    def button_ok(self,widget,data=None):
        # Mostramos la url y el nombre del fichero
        self.labelUrl.set_label(os.path.split(self.file.get_filename())[0])
        self.labelFile.set_label(os.path.split(self.file.get_filename())[1])
        # Cerramos la ventana
        self.file.destroy()
 
    def destroy(self,widget,data=None):
        gtk.main_quit()
 
 
if __name__=="__main__":
    X()
    gtk.main()



Comentarios sobre la versión: Versión 1 (2)

jor
14 de Junio del 2010
estrellaestrellaestrellaestrellaestrella
exelente men hace como 2 horas andaba buscando algo como esto, se agradese mucho que haya pusto todo el codigo solo para correrlo.... la documentacion interna ayuda mucho.

voy a tomar como base tu trabajo para tarea que debo hacer.

gracias
Responder
ISAAC
08 de Abril del 2015
estrellaestrellaestrellaestrellaestrella
Thank's,

Esto sevirá bastante para darle aspecto agradable a mi programa....
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s1728