我想使用
打开文件对话框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 for C ++的文档只是显而易见的(也许有一些pyside的隐藏文档......?)。由于C ++和python之间的数据类型有点不同,我无法解决我的问题。
有什么建议吗?
答案 0 :(得分:0)
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是一个对象。它想要unicode / str。所以只需使用“/ home / user”。
"/home/user"
or
QtCore.QDir("/home/user").absolutePath() # This ensures that the given location exists.