Bonjour,
Question de slot/signal ... ou pas, car, comme le montre la ligne à la console:
"Dans le slot : Pack de données archivé 10000"
je suis bien "dans le slot" quand apparait l'erreur;
notez que la ligne 15, dans le __init__ de la classe (... statusbar.showMessage ...) s'exécute bien;
mais la ligne 27, analogue, provoque l'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
cs@cs-Vaio:~/Documents/Ateliers/Atl-Log/AptBureau$ python AptBureau.py
{'Header': ['latitude', 'longitude', 'long', 'larg'], 'BP1': [42, 2, 100, 5], 'BP2': [42.5, 2, 80, 2.5], 'HF1': [42, 1.9, 100, 1.5], 'HF2': [42, 2.1, 100, 1.5]}
Dans le slot :  Pack de données archivé 10000
Traceback (most recent call last):
  File "/home/cs/Documents/Ateliers/Atl-Log/AptBureau/AptBureauUI.py", line 27, in slotStatusBar
    self.statusbar.showMessage(texte, tempo)
NameError: name 'self' is not defined
Pack de données archivé
cs@cs-Vaio:~/Documents/Ateliers/Atl-Log/AptBureau$
... question de définition de classe et d'instance ?
Désolé si c'est en fait évident, je suis assez "neuf" en Python ... et sur PSyde2 ...
(mais j'ai cherché plus de 10mn ... -6h- ;-) )
j'ai essayé "def slotStatusBar(self, texte, tempo):" à tout hazard ... qui donne:
"TypeError: slotStatusBar() missing 1 required positional argument: 'tempo'

Mon contexte : Ubuntu 18.04 LTS, Pyside2, Qt5, Python 3.6.8

Le code:
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
# Classes de base du UI de AptBureau
# Début: 23 nov 2019
 
from PySide2 import Qt, QtCore, QtWidgets, QtGui
 
import mainwindow
import Archive
 
class AptBureauWin(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
    def __init__(self, parent=None):
        super(AptBureauWin, self).__init__(parent)
        self.setupUi(self)
 
		# self.setWindowTitle("Apt Bureau") # dans le constructeur de Ui_MainWindow
        self.statusbar.showMessage("Ouverture", 10000)
        self.setWindowIcon(QtGui.QIcon('AptVerger.svg'))
 
        self.actionEnregistrer.triggered.connect(Archive.ArchiveDonnees)
        self.actionOpen.triggered.connect(Archive.ChargeDonnees)
 
        TableBandes= BandesModel(Archive.Bandes, self)
        self.tableView.setModel(TableBandes)
 
    @QtCore.Slot(str, int)
    def slotStatusBar(texte,tempo):
        print("Dans le slot : ", texte, tempo)
        self.statusbar.showMessage(texte, tempo)
 
    def EditeBandes():
        TableBandes= BandesModel(Archive.Bandes, self)
        self.tableView.setModel(TableBandes)