#include <qapplication.h>#include <qtable.h>#include <qmessagebox.h>class HeaderObserver : public QObject{public: HeaderObserver( QHeader* header, QObject* parent = 0 ) : QObject( parent ), head( header ) { head->installEventFilter( this ); } bool eventFilter( QObject*, QEvent* e ) { if ( e->type() == QEvent::MouseButtonDblClick ) { QMouseEvent* me = (QMouseEvent*) e; if ( me->button() == Qt::LeftButton ) { int n = head->sectionAt( me->y() ); QMessageBox::information( 0, tr("Test"), tr("Double clicked at %1").arg(n) ); } } return false; }private: QHeader* head;};int main( int argc, char** argv ){ QApplication app( argc, argv ); app.connect( &app, SIGNAL( lastWindowClosed() ), SLOT( quit() ) ); QTable t( 10, 10, 0 ); new HeaderObserver( t.verticalHeader() ); t.show(); return app.exec();}