Actually it should work. No connections are needed since this is done via eventHandling. Here is a minimal application that does work but without forms (I never use designer):
Qt Code:
  1. #include <QApplication>
  2. #include <QtGui>
  3.  
  4. class Dialog : public QDialog
  5. {
  6. Q_OBJECT
  7. public: Dialog(QWidget* parent=0) : QDialog(parent){}
  8. protected: void closeEvent(QCloseEvent* e) { QMessageBox::information(NULL, "here", "closing the app"); }
  9. };
  10.  
  11. #include "main.moc"
  12. int main(int argc, char* argv[])
  13. {
  14. QApplication app(argc, argv);
  15. Dialog d;
  16. d.show();
  17. return app.exec();
  18. }
To copy to clipboard, switch view to plain text mode 
Compare with your example. You can save it as main.cpp, do qmake and friends and run it to see whether it works.

cheers