Альтернатива для tkinter askopenfilename

В настоящее время я использую tkinter askopenfilename в редакторе быстрого списка для Ubuntu, чтобы получить имя и местоположение файла. Хотя работает нормально, внешний вид не родной.

Есть ли простое альтернативное диалоговое окно для навигации и получения имени и местоположения файла?


person Jacob Vlijm    schedule 17.06.2012    source источник


Ответы (2)


Вы можете попробовать wxPython FileDialog:

>>> import wx
>>> d = wx.FileDialog(None)
>>> d.ShowModal()
5101
>>> 

Это дает более специфичный для ОС вид

wxPython скоро появится в py3k в качестве проекта Phoenix, и уже есть снимки для Windows и Mac (см. мой комментарий ниже). Если вам нужно что-то более стабильное, вы можете использовать pyQt QtGui.QFileDialog.

import sys
from PyQt4 import QtGui

class Dialog(QtGui.QMainWindow):
    def __init__(self):
        super(Example, self).__init__()
        filename = QtGui.QFileDialog.getOpenFileName()
        print filename

app = QtGui.QApplication(sys.argv)
dialog = Dialog()

У вас есть более полный пример здесь.

person joaquin    schedule 17.06.2012
comment
Спасибо! но я забыл сказать, что использую python3, и я так понимаю, wxPython еще недоступен? - person Jacob Vlijm; 17.06.2012
comment
Это зависит от. Если вы используете Windows или Darwin, уже есть снимки для py3k (проект phoenix) - person joaquin; 17.06.2012
comment
Пожалуйста, ответ полезен, вы должны принять вопрос - person joaquin; 18.06.2012

Зенити

диалоговое окно выбора файла от Zenity предоставляет простой и естественный вид. решение с опцией --file-selection. Диалог предоставляет ряд опций.

См. также справочные страницы Zenity.

В простейшем виде:

введите здесь описание изображения


#!/usr/bin/env python3
import subprocess

try:
    file = subprocess.check_output(["zenity", "--file-selection"]).decode("utf-8").strip()
    print(file)
except subprocess.CalledProcessError:
    pass

FileChooserDialog Gtk

Другим вариантом является Gtk FileChooserDialog, который производит, как можно было бы ожидать, идеально выглядящие диалоговые окна выбора файлов.

person Jacob Vlijm    schedule 26.01.2013