5 votos

Cómo añadir un filtro a "QFileDialog.getOpenFileName"

Me gustaría añadir un filtro al siguiente código para seleccionar sólo los "archivos CSV", pero no lo he conseguido:

def filePath(title):
    qfd = QFileDialog()
    path = "D:\ennine\SIG HTB\BGN"
    f = QFileDialog.getOpenFileName(qfd, title, path)
    return f

10voto

Pervez Choudhury Puntos 1637

Según la documentación, puedes añadir un filtro en la definición de tu clase:

QString QFileDialog.getOpenFileName (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), Options options = 0)

Así que con tu código debería quedar como :

def filePath(title):
    qfd = QFileDialog()
    path = "D:\ennine\SIG HTB\BGN"
    filter = "csv(*.csv)"
    f = QFileDialog.getOpenFileName(qfd, title, path, filter)
    return f

También puedes añadir otro filtro. Es necesario separarlos con un doble ;; así :

" Imágenes (*.png *.xpm .jpg);;Archivos de texto ( .txt);;Archivos XML (*.xml)"

4voto

Chris Kloberdanz Puntos 1871
dialog = QtGui.QFileDialog()

fname = dialog.getOpenFileName(None, "Window name", "", "CSV files (*.csv)")

Hará el trabajo.

Sólo hay que pasar a Ninguno como primer argumento.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X