1

Qt.Gui.QFileDialog.getOpenFileName メソッドを使用してファイルを開きます。デフォルトのファイル ディレクトリを"/Users/me/Documents/data/2013/today/"ダイアログ ボックスに設定する"/Users/me/Documents/data/2013/"と、"today"フォルダが選択された状態で開きます。ウィンドウで開かれる正しいデフォルト フォルダを取得するにはどうすればよいですか?

fname = QtGui.QFileDialog.getOpenFileName(self, 'Open file', "/Users/me/Documents/data/2012/20121102/images/",'*.npy')

でダイアログ ボックスを開きます/Users/me/Documents/data/2012/20121102。窓を開けたい/Users/me/Documents/data/2012/20121102/images/

4

2 に答える 2

0

最も可能性の高い理由は、ファイルを開くよう要求した時点でファイルが存在しないことです。フォルダーを開くには、次を使用しますQtGui.QFileDialog.getExistingDirectory

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from PyQt4 import QtGui, QtCore

class MyWindow(QtGui.QWidget):
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)

        self.pushButtonOpen = QtGui.QPushButton(self)
        self.pushButtonOpen.setText("Open Folder")
        self.pushButtonOpen.clicked.connect(self.on_pushButtonOpen_clicked)

        self.layoutHorizontal = QtGui.QHBoxLayout(self)
        self.layoutHorizontal.addWidget(self.pushButtonOpen)

    @QtCore.pyqtSlot()
    def on_pushButtonOpen_clicked(self):
        folderName = QtGui.QFileDialog.getExistingDirectory(
            self, "Open Directory",
            "/path/to/folder",
            QtGui.QFileDialog.ShowDirsOnly | QtGui.QFileDialog.DontResolveSymlinks,
        )

if __name__ == "__main__":
    import sys

    app = QtGui.QApplication(sys.argv)
    app.setApplicationName('MyWindow')

    main = MyWindow()
    main.show()

    sys.exit(app.exec_())
于 2013-03-26T10:11:55.380 に答える