Я хотел бы открыть диалог с помощью файла
fileName = QtGui.QFileDialog.getOpenFileName(self, "Open File", QtCore.QDir("/home/user"))
но это выражение дает следующую ошибку:
TypeError: 'PySide.QtGui.QFileDialog.getOpenFileName' called with wrong argument types:
PySide.QtGui.QFileDialog.getOpenFileName(ImageViewer, str, PySide.QtCore.QDir)
Supported signatures:
PySide.QtGui.QFileDialog.getOpenFileName(PySide.QtGui.QWidget = None, unicode = QString(), unicode = QString(), unicode = QString(), PySide.QtCore.QString = QString(), PySide.QtGui.QFileDialog.Options = 0)
Документация здесь бесполезна, поскольку документация существует только для Qt для C ++ (может быть, есть некоторая скрытая документация для pyside …?). А так как типы данных немного отличаются между C ++ и python, я не могу решить мою проблему.
Какие-либо предложения?
http://pyside.github.io/docs/pyside/ Документация для PySide.
посмотрите в разделе статических функций. http://pyside.github.io/docs/pyside/PySide/QtGui/QFileDialog.html
parent = None # QtGui.QMainWindow()
filters = "All File (*);;CSV (*.csv *.CSV)" # Only allow these file ext to be opened
title = "Save As"open_at = "directory/"results = QtGui.QFileDialog.getOpenFileName(parent, title, open_at, filters)
QtCore.QDir является объектом. Хочет юникод / ул. Так что просто используйте «/ home / user».
"/home/user"or
QtCore.QDir("/home/user").absolutePath() # This ensures that the given location exists.