Liaison entre getOpenFileName et une fonction
Bonjour à tous, je réalise actuellement un programme me permettant d'isoler des données depuis un fichier au format rw5 (que l'on peut assimiler à du txt). Mon programme fonctionne correctement et j'essaie à présent de réaliser une interface graphique pour rendre le tout plus ergonomique et en créant un fichier exécutable à l'aide de cx_freeze.
L'interface est simple et contient les éléments suivants:
- Un bouton Parcourir qui doit permettre de récupérer le fichier brut
- 3 EditLine qui me permettent de renseigner des coordonnées X Y et Z d'un point
- Un bouton Calculer qui doit exécuter une fonction ayant comme paramètre le fichier brut et les 3 EditLine
J'ai réussi à faire fonctionner les 3 EditLine qui sont bien incorporées dans mon calcul, mais je n'arrive pas à automatiser la sélection du fichier brut. Ma fonction est décrite à l'extérieur de la description de l'interface graphique, je fais seulement un appel à elle à l'intérieur. Je ne sais pas comment programmer ceci, si je dois modifier ma fonction au niveau du dossier courant à partir du chemin obtenu dans Parcourir. Qu'en pensez-vous et voici mon programme pour que vous compreniez le problème
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class mainwindow(QMainWindow,Ui_MainWindow):
def __init__(self):
super(self.__class__,self).__init__()
self.setupUi(self)
self.Parcourir1.clicked.connect(self.openfile)
self.Calculer.clicked.connect(self.calculate)
def openfile(self):
filename=QFileDialog.getOpenFileName()
print(filename)
def calculate(self):
e_calculee = self.lineEdit_X.text()
n_calculee = self.lineEdit_Y.text()
el_calculee = self.lineEdit_Z.text()
calcul_gps(filename[0],e_calculee,n_calculee,el_calculee)
if __name__ == "__main__":
app = QApplication(sys.argv)
form=mainwindow()
form.show()
sys.exit(app.exec_()) |
Je vous joint aussi le début de ma fonction ou je précise l'utilisation du fichier texte
Code:
1 2 3 4 5 6
| def calcul_gps(source,e_calculee,n_calculee,el_calculee):
rawfile = open(source, 'r')
destination = source[:-4]
destination += str("_calc.txt")
fichier = open(destination, "w")
table = [line.rstrip().split() for line in rawfile.readlines()] |