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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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()]