Agradecimientos al Usuario: @smokeweed46 -->
Crearemos el Navegador de Archivos utilizando Python y para la interfaz grafica QT, para crear la interfaz el QtDesigner sera la opcion elegida.
No entrare mucho en detalle del QtDesigner ya que hay tutoriales a monton, me centrare mas en el codigo. Aqui solo un ejemplo de Interfaz Grafica
Ahora viene lo bueno, el codigo:
Disculpen, pero taringa tiene problemas con a Identacion!!
En esta parte definimos la codificacion de archivos, y las librerias que debera importar para la correcta ejecucion del codigo. En la ultima linea, importamos el archivo creado con QtDesigner que luego convertimos a .py
Aqui un Post donde lo explico
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
import os
import sys
from Mascara import Ui_Form
Aqui creamos la clase, y le asignamos un nombre a Ui_Form, ademas definimos el Titulo de la ventana.
class navegador(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.ventana = Ui_Form()
self.ventana.setupUi(self)
self.setWindowTitle('Navegador de Archivos')
Aqui definimos el modelo que tomara el QTreeView para poder formar el arbol del archivos.
#Creamos el Modelo de donde se tomara la informacion para crear el Arbol de Archivos
self.model = QtGui.QDirModel()
self.ventana.T1.setModel(self.model)
En esta parte conectamos el boton (B1) que habiamos creado en nuestra interfaz grafica, y lo conectamos a la funcion "corazon_atomico". -- Si me gusta Zoé y le pongo nombre de canciones a las funciones --
#Conectamos el Boton a la Funcion corazon_atomico
self.connect(self.ventana.B1, QtCore.SIGNAL('clicked()'), self.corazon_atomico)
Aqui conectamos el QTreeView a una funcion que segun el index del TreeView recoge el elemento seleccionado y lo pasa a una funcion llama "Nitro". -- Otra cancion de Zoé --
QtCore.QObject.connect(self.ventana.T1.selectionModel(),QtCore.SIGNAL("currentChanged(QModelIndex,QModelIndex)" ), self.nitro)
Esta funcion lee las variables globales, y las muestra en pantalla, se activa al presionar el boton.
#Esta Funcion lee las variables globales y la muestra
def corazon_atomico(self):
global luna
global sol
print luna
print sol
Esta funcion, crea las variables globales, y les asigna un valor que lee del TreeView cada vez que se clickea un elemento
#Esta funcion define variables globales y les asigna el resultado
def nitro(self, index, old = None ):
global luna
global sol
#Muestra el PATH del elemento seleccionado
luna = (self.model.filePath(index))
#Muestra el Nombre del elemento seleccionado
sol = (self.model.fileName(index))
Esta parte es para mostrar la aplicacion
def main():
app = QtGui.QApplication(sys.argv)
ventana = navegador()
ventana.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Aqui se Encuentra el Codigo por si lo quieren probar:
Codigo

