Я пишу небольшую программу на Python, которая просматривает файл XML и выполняет некоторую замену тегов. Он принимает три аргумента: путь, из которого создается дерево каталогов, файл XML, который он читает, и файл xml, в который он выводится. Он отлично работает из командной строки, просто передавая аргументы. Поскольку это не только для меня, я подумал, что я поставил на него фронт Qt. Ниже представлена большая часть фронта Qt. MOVtoMXF — это класс, который выполняет всю замену. Итак, вы можете видеть, что я просто беру строки и загружаю их в класс, который уже создан и протестирован.
class Form(QDialog):
def ConnectButtons(self):
self.connect(self.pathBrowseB, SIGNAL("clicked()"), self.pathFileBrowse)
self.connect(self.xmlFileBrowseB, SIGNAL("clicked()"), self.xmlFileBrowse)
self.connect(self.outputFileBrowseB, SIGNAL("clicked()"), self.outputFileBrowse)
def accept(self):
path = self.pathBox.displayText()
xmlFile = self.xmlFileBox.displayText()
outFileName = self.outfileNameBox.displayText()
print path + " " + xmlFile + " " + outFileName
mov1 = MOVtoMXF.MOVtoMXF(path, xmlFile, outFileName)
mov1.ScanFile()
self.done()
def pathFileBrowse(self):
file = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
self.pathBox.setText(file)
def xmlFileBrowse(self):
file = str(QFileDialog.getOpenFileName(self, "Save File"))
self.xmlFileBox.setText(file)
def outputFileBrowse(self):
file = str(QFileDialog.getSaveFileName(self, "Save File"))
self.outfileNameBox.setText(file)
проблема в том, что когда я подаю путь, он теперь возвращается с ошибкой, либо каталог не существует, либо если у меня есть косая черта в конце, которая
Файл "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py", строка 62, в пути соединения elif == '' или path.endswith('/'):
Я думаю, что это, вероятно, какое-то несоответствие между QFileDialog, QString, который он возвращает, и строкой, которую ожидает мой python. но я не уверен, как это исправить.
Я работаю на Max OS X 10.5.6 pyQt 4.4.4 QT 4.4.0
спасибо за любую помощь вы можете дать.
Отметка