QTimer ne fonctionne pas (PySide6)
Bonjour à tous,
Je suis débutante en Python. Voilà mon souci, j'ai un bouton de soumission désactivé par défaut au lancement du programme. Pour le test, j'essaie de le réactiver au bout de 5 secondes et de changer son style CSS mais rien ne se passe.
Je n'ai pas d'erreur dans la console. J'ai utilisé une fonction print("Bouton activé") dans mon callback pour essayé de débugger, mais aucun affichage non plus. C'est comme si la méthode activate() de ma classe MyButton n'était pas appelée
Pourriez vous m'apporter votre aide ?
Application
Code:
1 2 3 4
|
# Lancement du Timer
chrono = MyTimer()
chrono.start() |
MyTimer
Code:
1 2 3 4 5 6 7 8 9 10 11
|
from PySide6.QtCore import QTimer
from controllers.Btn import MyButton
class MyTimer(MyButton):
def __init__(self):
super().__init__()
self.__reading_time: int = 5000 # 5 secondes
def start(self):
QTimer.singleShot(self.__reading_time, self.activate) |
MyButton
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
from PySide6.QtWidgets import QPushButton
from PySide6.QtCore import QSize
class MyButton:
def __init__(self) -> None:
self.__btn = QPushButton('Soumettre réponses')
self.__btn.setFixedSize(QSize(400, 48))
self.__btn.setDisabled(True)
def get(self):
return self.__btn
def activate(self):
print("bouton activé")
self.__btn.setDisabled(False)
self.__btn.setStyleSheet(
"padding: 8px; margin-left:100px; background-color:#00af3b; color:white; border:none; font-size:16px") |