title: QT macro Q_SLOTS after the class access restriction
body: <p>I am reading the rviz source code. I found the macro Q_SLOTS after the protected. I am not sure the meaning here. (I understand the access restriction to the class members 'proected' meaning).</p>
  
  <pre><code>  class _RosTopicDisplay: public Display
          {
                          Q_OBJECT
                  public:
                          _RosTopicDisplay()
                          {
                                  topic_property_ = new RosTopicProperty("Topic", "",
                                                                         "", "",
                                                                         this, SLOT(updateTopic()));
                                  unreliable_property_ = new BoolProperty("Unreliable", false,
                                                                          "Prefer UDP topic transport",
                                                                          this,
                                                                          SLOT(updateTopic()));
                          }
  
                  protected Q_SLOTS:
                          virtual void updateTopic() = 0;
  
                  protected:
                          RosTopicProperty* topic_property_;
                          BoolProperty* unreliable_property_;
          };
  </code></pre>
  
  <p>Anyone could explain it for me plz.</p>