#include #include #include #include #include #include class MyWindow : public QAbstractScrollArea { typedef QAbstractScrollArea Qtsuper; void printMetrics() { QRect _g=geometry(); QRect _f=frameGeometry(); QPoint _topLt=viewport()->mapToGlobal(QPoint(0, 0)); printf("geometry(): left=%d, top=%d width=%d height=%d\n", _g.left(), _g.top(), _g.width(), _g.height()); printf("frameGeometry(): left=%d, top=%d width=%d height=%d\n", _f.left(), _f.top(), _f.width(), _f.height()); printf("viewport top left (screen coords) x=%d y=%d\n", _topLt.x(), _topLt.y()); printf("\n"); } void mousePressEvent(QMouseEvent *event) { Qtsuper::mousePressEvent(event); if(event->button()==Qt::LeftButton) { setGeometry(QRect(-4, -23, 640, 480)); printMetrics(); } } }; int main(int argc, char *argv[]) { QApplication _app(argc, argv); MyWindow wid; wid.show(); return _app.exec(); }