PYQT 在脚本中使用一个 class 中的目录

PYQT use directory from one class on a script

我想要 运行 一个从 PYQT 中的函数获取目录的脚本。现在它设置为使用 sys.argv 并希望它被称为

directory = createeditconvertorpage.selectFilecsvtoxml()  

script1.py

directory = sys.argv[1]

print str(directory) + "this si string of directory"

def Main():

pyqtwindow.py

class createedditConvertorpage(QtGui.QMainWindow):
    def __init__(self,parent = None):
        QtGui.QWidget.__init__(self, parent)
def selectFilecsvtoxml(self):

    directoryPath = QtGui.QFileDialog.getExistingDirectory(self, caption="Pick a folder", directory=QtCore.QDir.currentPath())

    self.listDirPath.setText(directoryPath)

    for file_name in os.listdir(directoryPath):
        if not file_name.startswith("."):

            print (file_name) +  "   this is selectFilcestoxml"

    return directoryPath

def convertDirectory(self):

    import longXmlEditor
    longXmlEditor.Main()
class createedditConvertorpage(QtGui.QMainWindow):
    def __init__(self,parent = None):
        QtGui.QWidget.__init__(self, parent)

    @staticmethod
    def browseFilecsvtoxml():
        directoryPath = QtGui.QFileDialog.getExistingDirectory(caption="Pick a folder", directory=QtCore.QDir.currentPath())
        return directoryPath


    def selectFilecsvtoxml(self):
        directoryPath = self.browseFilecsvtoxml()
        self.listDirPath.setText(directoryPath)

        for file_name in os.listdir(directoryPath):
            if not file_name.startswith("."):

                print (file_name) +  "   this is selectFilcestoxml"

        return directoryPath

    def convertDirectory(self):

        import longXmlEditor
        longXmlEditor.Main()

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    dirpath = createedditConvertorpage.browseFilecsvtoxml()
    print dirpath
    sys.exit(app.exec_())

希望对您有所帮助,我只是在主脚本中调用,但您也可以从另一个脚本调用。确保你有 QApplication,因为它使用的是 QtGui。否则会失败。