Interaction entre 2 boutons PySide6
Bonjour,
Petit problème avec PySide6 avec une application graphique très basique:
J'ai un premier bouton qui permet d'ouvrir l'explorateur pour sélectionner un fichier (.xlsx) à traiter. L'idée est donc de récupérer le chemin complet de ce fichier dans une variable.
Le second bouton permet d'exécuter le script sur ce fichier, mais comment récupérer une variable issue de l'évènement d'un bouton dans l'évènement d'un autre bouton? Merci d'avance! :)
self.open_file_button = QPushButton("Select file", centralArea)
self.open_file_button.setGeometry(20, 20, 250, 30)
self.open_file_button.clicked.connect(self.open_file_buttonClicked)
self.process_file_button = QPushButton("Process file", centralArea)
self.process_file_button.setGeometry(20, 70, 250, 30)
self.process_file_button.clicked.connect(self.process_file_buttonClicked)
@Slot()
def open_file_buttonClicked(self):
open_file_btn: QPushButton = self.sender()
selectedFile = QFileDialog.getOpenFileName(self, "Select file", "D:\PROGRAMMATION\Excel\openpyxl", "All Files (*);;Excel Files (*.xlsx)")
@Slot()
def process_file_buttonClicked(self):
process_file_btn: QPushButton = self.sender()
#Exécution du script
#....
je crois que j'ai trouvé tout seul, en déclarant une variable au niveau de ma classe MainWindow:
self.file_path = ""
et ensuite:
@Slot()
def open_file_buttonClicked(self):
open_file_btn: QPushButton = self.sender()
file_name, _ = QFileDialog.getOpenFileName(self, "Select file", "D:\PROGRAMMATION\Excel\openpyxl", "All Files (*);;Excel Files (*.xlsx)")
if file_name:
self.file_path = file_name
@Slot()
def process_file_buttonClicked(self):
process_file_btn: QPushButton = self.sender()
if self.file_path != "":
#EXECUTER LE CODE!
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte