在QMainWindow内直接添加Layout行不通

原文:http://blog.sina.com.cn/s/blog_3e62c50d01013xuc.html

 

在QDialog的派生类中,添加Layout,可在创建Layout对象的同时指定其父窗口,但这在QMainWindow中行不通。

基于主窗口的程序,默认已经有了自己的布局管理器。

QMainWindow的中心控件是一个QWidget,可以通过setCentralWidget设置。若想在QMainWindow中添加 layout,需要通过将该Layout添加到一个QWidget对象中,然后将该布局设置为该空间的布局,最后设置该控件为QMainWindow的中心控件,代码如下:

QWidget* widget = new QWidget(this);

widget->setLayout(gridLayout);

this->setCentralWidget(widget);

下面是拓展了解帖:

http://hi.baidu.com/dbzhang800/item/a7bf1f1e983c6af964eabf45

posted @ 2014-03-24 20:25  &、van  阅读(187)  评论(0编辑  收藏  举报