• 5243阅读
  • 7回复

[提问]新手求助:关于多画面切换的问题 [复制链接]

上一主题 下一主题
离线f19900818
 

只看楼主 倒序阅读 楼主  发表于: 2016-03-28
目前在开发多画面切换,存在如下问题
主窗口A,A上有一个按钮,创建窗口B;窗口B上有个按钮,创建窗口C。
目前想实现窗口B和窗口C上,点击右上角的红叉,均返回窗口A,应该怎么实现?
离线robinsonsir

只看该作者 1楼 发表于: 2016-03-28
重载C的关闭窗口事件。void QWidget::closeEvent(QCloseEvent *event) ,
A{
private: B
}

B{
private:C

connect(*C, SIGNAL(closeSig()),
this, SLOT(close()));

}

C{
signals:
   void closeSig();
protected:
void    closeEvent(QCloseEvent *event){ emit closeSig(); this->close();}
}


离线f19900818

只看该作者 2楼 发表于: 2016-03-28
回 robinsonsir 的帖子
robinsonsir:重载C的关闭窗口事件。void QWidget::closeEvent(QCloseEvent *event) ,
A{
private: B
}
....... (2016-03-28 17:13) 

现在有这样的问题:
A窗口创建B窗口:this->hide();
                                b.show();
                                b.exec();
                                 this->show();

B创建C:this->close();
               c.show();

这样创建C窗口时,A窗口也显示出来了,应该怎么办
离线robinsonsir

只看该作者 3楼 发表于: 2016-03-28
那你C也用c.exec(),好了
离线f19900818

只看该作者 4楼 发表于: 2016-03-29
回 robinsonsir 的帖子
robinsonsir:那你C也用c.exec(),好了 (2016-03-28 18:35) 

谢谢大神,按照你说的方法好用了
离线robinsonsir

只看该作者 5楼 发表于: 2016-03-29
回 f19900818 的帖子
f19900818:谢谢大神,按照你说的方法好用了 (2016-03-29 08:43) 

互相学习
离线f19900818

只看该作者 6楼 发表于: 2016-03-30
回 robinsonsir 的帖子
robinsonsir:互相学习[表情] (2016-03-29 09:06) 

可以再请教个问题吗?我在调用close关闭窗口的时候,被关闭窗口上控件中的内容,在下次打开时,又出现了。就是说控件上的内容并没有被清空,是什么原因?
离线robinsonsir

只看该作者 7楼 发表于: 2016-03-30
回 f19900818 的帖子
f19900818:可以再请教个问题吗?我在调用close关闭窗口的时候,被关闭窗口上控件中的内容,在下次打开时,又出现了。就是说控件上的内容并没有被清空,是什么原因? (2016-03-30 10:40) 

你是用new的窗口吧,关闭窗口但是没有被销毁,http://doc.qt.io/qt-5/qwidget.html#close
快速回复
限100 字节
 
上一个 下一个