如何取得窗口的位置和大小

怎么取得窗口的位置和大小?
我的问题是这样的:
    我有一个窗口,把它的尺寸拉的很小,假如只有 100x100 。

    然后把它最大化。我的屏幕是 1680x1050

    然后通过几个返回 QRect 的方法去取窗口的尺寸,都是 1680x1050
    QRect frameGeometry() const;
    const QRect &geometry() const;
    QRect normalGeometry() const;


    我希望在最大化状态下,也能取得窗口在 normal 状态下的 100 x 100 这个尺寸。

    请教如何获取?

    别让我先 showNormal(), 这样屏幕会闪一下,效果不好。

    谢谢。

------解决方案--------------------
你这个需求很怪异
自己实现resizeEvent()
void  QWidget::resizeEvent ( QResizeEvent * event ) 
{
    QSize size = event->oldSize () ;
}

------解决方案--------------------
void QWidget::moveEvent ( QMoveEvent * event )
{
     QPoint point =  event->oldPos ();
}

void  QWidget::resizeEvent ( QResizeEvent * event ) 
 {
     QSize size = event->oldSize () ;
 }

上边坐标,下边大小
------解决方案--------------------
引用:
是这样的,我需要在关闭程序前保存主窗口的位置,下次打开时恢复。

如果没有这个值,

那么当关闭时是最大化时,恢复时也是最大化,但这时点右上角中间按钮时,就无法恢复到先前的大小了。

closeEvent{
if窗口状态不是normal,不保存窗口大小

------解决方案--------------------
你可以给normal设置一个固定值