Bonjour à tous
J'ai eu hier un souci sur un code Pyside6. Ce code fait partie de ceux que j'ai mis en téléchargement dans mes exemples PyQt (donc ça veut dire qu'il avait fonctionné à un moment) mais hier il ne fonctionnait plus.
Et après décortication, j'ai trouvé que le souci provenait de l'ordre des imports.
Premier exemple
Ce code fonctionne et affiche "True" ce qui correspond à ce que j'attendais, un QSlider est bien un objet hérité d'un QWidget
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 from PySide6.QtWidgets import * from PySide6.QtCore import * print(issubclass(QSlider, QWidget))
Second exemple: on inverse les imports
Et là, ça ne va plus, il affiche "False" indiquant que là, un QSlider n'est pas un héritier d'un QWidget. De là (et c'était le souci de mon code) je ne peux plus le mettre dans un layout ou autre action inhérente à un QWidget.
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 from PySide6.QtCore import * from PySide6.QtWidgets import * print(issubclass(QSlider, QWidget))
Toutefois dans les deux cas, si je rajoute...
...ça affiche bien Pyside6.QtWidgets.QSlider montrant que le QSlider provient bien du QtWidets. De même essayer d'importer un QSlider depuis QtCore ne fonctionne pas. Le QtCore ne possède pas de QSlider.
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 app=QApplication([]) s=QSlider() print(s)
Donc avez-vous un avis sur le fait que dans le second cas, un QSlider n'est pas un QWidget alors que rien ne devrait le gêner à ce propos ?
Merci à tous.
PS: Qt 6.7.0, Pyside 6.7.0 et Python 3.10.12
Partager