J'écris un petit programme python qui passe par un fichier XML et fait un peu de remplacement de balises. Il prend trois arguments, un chemin d'où il crée une arborescence de répertoires, le fichier XML sa lecture et le fichier xml dont il sort. Cela fonctionne très bien à partir de la ligne de commande en passant simplement des arguments. Comme ce n'est pas juste pour moi, je pensais que je mettais un Qt en avant. Ci-dessous la majorité du front Qt. MOVtoMXF est la classe qui fait tout le remplacement. Donc, vous pouvez voir que je suis simplement en train d'attraper des ficelles et les nourrir dans la classe que j'ai déjà fait et testé.QFileDialog passant le répertoire au script python
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)
le probelm est que quand je nourris dans un chemin, il est maintenant de retour avec une erreur, que ce soit le répertoire ne marche pas exister, ou si j'ai un slash à la fin que
fichier «/System/Bibliothèque/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py ", ligne 62, jointure elif path == '' ou path.endswith ('/'):
Je pense que c'est probablement une discordance entre le QFileDialog, le QString et la chaîne attendue par my python. mais je ne sais pas comment y remédier.
Im course sur Max OS X 10.5.6 PyQt 4.4.4 QT 4.4.0
Merci pour toute aide que vous pouvez donner.
Marque
pouvez-vous écrire le code dans le script? et le message d'erreur exact? –