• 2505阅读
  • 0回复

[提问]QStackWidget中,如何根据每个widget以自己的x/y坐标来显示? [复制链接]

上一主题 下一主题
离线twodiamond
 

只看楼主 倒序阅读 楼主  发表于: 2017-11-02



CMainWindow::CMainWindow(QWidget * parent):QWidget(parent)
{
         pStackPage = new QStackedWidget(this);

        //QStackWidget压栈
       widget1 = MyWidget();            //设定了x,y,w,h
       widget2 = MyWidget();            //设定了x,y,w,h
       pStackPage->addWidget(widget1 );        
       pStackPage->addWidget(widget2 );        


        //pStackPage->setGeometry(x,y,w,h);    //pStackPage中Widget,x/y/w/h不一样
    
      show();
}

CMainWindow::switchWindow(int nIndex)
{
        pStackPage->setCurrentIndex(nIndex);

        QWidget *rect = pStackPage->currentWidget();
        pStackPage->setGeometry(rect->x(),rect->y(),rect->width(),rect->height());
}

每次切换pStackPage的widget时,重新设置其x/y/w/h;
但发觉rect->x(),rect->y()都为0 ,但这些widget在new时的x/y绝对不是0的。

请问:会是什么问题呢?
谢谢!
快速回复
限100 字节
 
上一个 下一个