Python 是否选择pyside获取目录?

Python 是否选择pyside获取目录?,python,directory,pyside,Python,Directory,Pyside,在用户从“浏览…”按钮选择目录后,我如何从中获取所选目录?我的目标是使用project字段中的名称在该目录中创建一个文件夹。“选择目录”是我需要帮助解决的最后一部分。谢谢你们 import sys import os from PySide import QtGui class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.initUI

在用户从“浏览…”按钮选择目录后,我如何从中获取所选目录?我的目标是使用project字段中的名称在该目录中创建一个文件夹。“选择目录”是我需要帮助解决的最后一部分。谢谢你们

import sys
import os
from PySide import QtGui

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))

        self.setToolTip('This is a <b>QWidget</b> widget')

        # EditText Field
        labelProjectName = QtGui.QLabel('Project Name:', self)
        labelProjectName.move(15, 10)

        self.etProjectName = QtGui.QLineEdit('', self)
        self.etProjectName.resize(self.etProjectName.sizeHint())
        self.etProjectName.move(90, 7)

        # Folder Browser
        lbBroswer = QtGui.QLabel('Directory:', self)
        lbBroswer.move(15, 40)

        self.etBrowser = QtGui.QLineEdit('', self)
        self.etBrowser.resize(210,20)
        self.etBrowser.move(90, 37)
        self.etBrowser.setEnabled(0)
        # self.etBrowser.isReadOnly = 0

        btnBrowse = QtGui.QPushButton('...', self)
        btnBrowse.setToolTip('Select directory for project location.')
        btnBrowse.resize(30,20)
        btnBrowse.move(305, 37)
        btnBrowse.clicked.connect(self.selectDirectory)

        # Button UI
        btn = QtGui.QPushButton('Create Folder', self)
        btn.setToolTip('This creates the folders.')
        btn.resize(btn.sizeHint())
        btn.move(5, 60)       
        btn.clicked.connect(self.generateFolders)

        self.resize(350, 150)
        self.center()

        self.setWindowTitle('Folder Utility')    
        self.show()

    def center(self):

        qr = self.frameGeometry()
        cp = QtGui.QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())

    def selectDirectory(self):

        dialog = QtGui.QFileDialog()
        dialog.setFileMode(QtGui.QFileDialog.Directory)
        dialog.setOption(QtGui.QFileDialog.ShowDirsOnly)
        dialog.exec_()

        print 'select directory'

    def generateFolders(self):

        directory = "C:/Users/HP/Desktop/TRASH/Projects"
        projectName = self.etProjectName.text()
        folderNames = ['spam', 'ham', 'eggs']

        for f in folderNames:
            filePath = str(directory) +  "/" + str(projectName) + "/" + str(f)

            if not os.path.exists(filePath):
                os.makedirs(filePath)

        print 'Successfully Created Folders!'

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()
导入系统 导入操作系统 从PySide导入QtGui 类示例(QtGui.QWidget): 定义初始化(自): super(例如,self)。\uuuuu init\uuuuuuuu() self.initUI() def initUI(self): QtGui.QToolTip.setFont(QtGui.QFont('SansSerif',10)) setToolTip('这是一个QWidget小部件') #编辑文本字段 labelProjectName=QtGui.QLabel('项目名称:',self) labelProjectName.move(15,10) self.etProjectName=QtGui.QLineEdit(“”,self) self.etProjectName.resize(self.etProjectName.sizeHint()) self.etProjectName.move(90,7) #文件夹浏览器 lbBroswer=QtGui.QLabel('目录:',self) lbBroswer.移动(15,40) self.etBrowser=QtGui.QLineEdit(“”,self) self.etBrowser.resize(210,20) self.etBrowser.move(90,37) self.etBrowser.setEnabled(0) #self.etBrowser.isReadOnly=0 btnBrowse=QtGui.QPushButton(“…”,self) btnBrowse.setToolTip('为项目位置选择目录') btnBrowse.调整大小(30,20) btnBrowse.移动(305,37) btnBrowse.clicked.connect(self.selectDirectory) #按钮用户界面 btn=QtGui.QPushButton('Create Folder',self) btn.setToolTip('这将创建文件夹') btn.resize(btn.sizeHint()) btn.移动(5,60) btn.单击.connect(self.generateFolders) 自我调整大小(350150) self.center() self.setWindowTitle('文件夹实用程序') self.show() def中心(自我): qr=self.frameGeometry() cp=QtGui.QDesktopWidget().availableGeometry().center() qr.移动中心(cp) self.move(qr.topLeft()) def selectDirectory(self): dialog=QtGui.QFileDialog() setFileMode(QtGui.QFileDialog.Directory) setOption(QtGui.QFileDialog.ShowDirsOnly) dialog.exec() 打印“选择目录” def生成文件夹(自身): directory=“C:/Users/HP/Desktop/TRASH/Projects” projectName=self.etProjectName.text() folderNames=[“垃圾邮件”、“火腿”、“鸡蛋”] 对于folderNames中的f: filePath=str(目录)+“/”+str(项目名称)+“/”+str(f) 如果不存在os.path(文件路径): os.makedirs(文件路径) 打印“已成功创建文件夹!” def main(): app=QtGui.QApplication(sys.argv) ex=示例() sys.exit(app.exec_()) 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': main() 您应该使用

你应该使用


令人惊叹的。非常感谢,太棒了。非常感谢你。
def selectDirectory(self):

    selected_directory = QtGui.QFileDialog.getExistingDirectory()

    # Use the selected directory...
    print 'selected_directory:', selected_directory