Bonjour à tous,
J'ai une fenêtre créée avec Qt Designer (que j'appellerai MainWindowSpectro) qui comporte, entre autre, un bouton et un tableau. Lorsque je clique sur ce bouton j'ouvre une seconde fenêtre (elle aussi créée sous Qt Designer, que j'appellerai SaveDataSpectro) qui dispose d'un bouton Ok. Lorsque ce bouton Ok est cliqué j'aimerai entrer une valeur dans une cellule du tableau. Je pensais bêtement qu'en important le fichier MainWindowSpectro obtenus à partir du fichier .ui dans le fichier .py SaveDataSpectro j'aurais accès aux variables mais ce n'est pas le cas. Je n'arrive pas à trouver d'où peux venir mon problème, quelqu'un aurez une idée ?
Voici mon code dans deux fichier .py séparé. Le premier :
et la seconde partie :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 #!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QMainWindow #### GUI file made with Qt Designer and translated into python with uic5 ###### from Gui_python_files.mainwindowspectroGUI import Ui_MainWindowSpectro ############################################################################### #### Function import ########################################################## import savedata_spectro class MainWindowSpectro(QMainWindow, Ui_MainWindowSpectro): def __init__(self, *args, obj=None, **kwargs): super(MainWindowSpectro, self).__init__(*args, **kwargs) self.setupUi(self) self.pushButtonAcquisition.clicked.connect(self.onPushButtonAcquisitionClicked) self.tableWidgetShowExperiment = savedata_spectro.SaveDataSpectro(self) def onPushButtonAcquisitionClicked(self): self.SaveDataShow = savedata_spectro.SaveDataSpectro() self.SaveDataShow.setWindowModality(QtCore.Qt.ApplicationModal) self.SaveDataShow.show() if __name__.endswith('__main__'): if not QApplication.instance(): MainApp = QApplication(sys.argv) else : MainApp = QApplication.instance() mainWindow = MainWindowSpectro() mainWindow.show() rc = MainApp.exec_() sys.exit(rc) ############################################################################## os.system("pause")
Merci d'avance pour votre aide !
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 #!/usr/bin/python3 # -*- coding: utf-8 -*- from PyQt5.QtWidgets import QDialog, QTableWidgetItem #### GUI file made with Qt Designer and translated into python with uic5 ###### from Gui_python_files.savedataspectroGUI import Ui_SaveDataSpectro from Gui_python_files.mainwindowspectroGUI import Ui_MainWindowSpectro ############################################################################### ###### Function import ######################################################## class SaveDataSpectro(QDialog, Ui_SaveDataSpectro): def __init__(self, *args, obj=None, **kwargs): super(SaveDataSpectro, self).__init__(*args, **kwargs) self.setupUi(self) ###### Connexion signaux-slot ################################################# self.pushButtonSaveDataOk.clicked.connect(self.onPushButtonSaveDataOkClicked) def onPushButtonSaveDataOkClicked(self): new_item = QTableWidgetItem('&') self.tableWidgetShowExperiment.setItem(1, 1,new_item) self.close()
Partager