90 votes

Qt "slots privées:" qu'est-ce que c'est?

Je comprends comment l’utiliser, mais sa syntaxe me dérange. Que font les "slots privées:"?

Je n'ai jamais vu quelque chose entre le mot clé private et le: dans une définition de classe auparavant. Existe-t-il une magie C ++ sophistiquée ici?

Et exemple ici:

  #include <QObject>

 class Counter : public QObject
 {
     Q_OBJECT

 public:
     Counter() { m_value = 0; }

     int value() const { return m_value; }

 public slots:
     void setValue(int value);

 ...
 

62voto

Russell Davis Points 2949

Les slots sont une extension de C ++ spécifique à Qt. Il ne compile qu'après avoir envoyé le code via le préprocesseur de Qt, le compilateur de méta-objets (moc). Voir http://doc.qt.nokia.com/4.6/moc.html pour la documentation.

Edit: Comme le fait remarquer Frank, moc n’est requis que pour la liaison. Les mots-clés supplémentaires sont #définis avec le préprocesseur standard.

20voto

Andrew Points 14301

Les mots clés tels que public , private sont ignorés pour les créneaux Qt. Tous les créneaux horaires sont en fait publics et peuvent être connectés

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X