2010-06-09 3 views
10

Comment traiter un signal de dans une sous-classe? Disons que ma sous-classe est dérivée de QTextEdit et s'intéresse au signal textChanged. Il semble stupide de se connecter un objet à lui-même, je devrais être capable de remplacer simplement la méthode textChange - mais ce n'est pas virtual.Comment traiter les signaux dans une sous-classe Qt?

Quelle est la méthode acceptée pour ce faire?

Répondre

11

Vous ne pouvez pas implémenter/remplacer un signal, la seule façon est de créer un nouvel emplacement et le connecter à TextChanged():

connect(this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString))); 
3

Peut-être que cela semble idiot, mais c'est comme ça que je l'ai fait: connecter ma classe dérivée au signal émis par la classe parente.

Mais je suis intéressé s'il y a d'autres solutions!

1

Il est parfaitement autorisé à connecter un signal à une fente dans la même classe. Donc, implémentez votre slot et connectez-le à textChanged(QString)

Questions connexes