I have a delegate class that inherits from QStyledItemDelegate. In SlotDestroyed(): why is sender() of the type QPushButtonPrivate and not QPushButton?

Qt Code:
  1. QWidget *Delegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
  2. {
  3. QPushButton *btn = new QPushButton(parent);
  4. btn->setText("test");
  5.  
  6. connect(btn, SIGNAL(destroyed(QObject*)), this, SLOT(SlotDestroyed(QObject*)));
  7. return btn;
  8. }
  9.  
  10.  
  11. void Delegate::SlotDestroyed(QObject* editor)
  12. {
  13. QPushButton *btn = qobject_cast<QPushButton*>(sender()); // why null?
  14. QObject *s = sender();
  15. btn = reinterpret_cast<QPushButton*>(sender());
  16. }
To copy to clipboard, switch view to plain text mode