• 6231阅读
  • 5回复

[提问]QMainWindow怎么正确切换CentralWidget [复制链接]

上一主题 下一主题
离线过去如风
 
只看楼主 倒序阅读 楼主  发表于: 2012-03-28
大家好,
       我在写程序的时候遇到这样的一个问题:现在我用Qt Designer设计了几个Widget,希望能在程序中频繁切换。主程序是继承QMainWindow的,我对每个Widget对象都进行了初始化,然后使用setCentralWidget来设置CentralWidget,但是用此函数切换时候程序会异常终止。求问原因以及正确的切换方法。谢谢。
离线dbzhang800

只看该作者 1楼 发表于: 2012-03-29
使用 QStackedWidget
离线wk5882846

只看该作者 2楼 发表于: 2012-03-29
setCentralWidget 好像会自动删除之前的centralWidget吧
可能是你其他地方出问题了
asd
离线过去如风
只看该作者 3楼 发表于: 2012-03-29
引用第1楼dbzhang800于2012-03-29 03:49发表的  :
使用 QStackedWidget

谢谢了。我下次就使用这个类尝试一下
离线过去如风
只看该作者 4楼 发表于: 2012-03-29
引用第2楼wk5882846于2012-03-29 11:53发表的  :
setCentralWidget 好像会自动删除之前的centralWidget吧
可能是你其他地方出问题了

我查看了setCentralWidget,发现有这样一个注释:
Note: QMainWindow takes ownership of the widget pointer and deletes it at the appropriate time.

所以在不想怎么改动代码的前提下,我在每次使用setCentralWidget之前都初始化Widget,这样就没有问题了。
离线zhaopubo
只看该作者 5楼 发表于: 2012-03-29
频繁切换,还是用QStackedWidget好。
快速回复
限100 字节
 
上一个 下一个