删除文章

确定要删除这篇文章吗?

取消
确定

QLayout: Attempting to add QLayout

     阅读(2989)  2017-06-17 15:58:39

QLayout: Attempting to add QLayout , which already has a layout

出现这个警告的原因是一个QWidget作为了多个QLayout的parent,一个QWidget应该只有一个main layout,将其它子widget或者layout增加到main layout中,如下代码:

    QWidget *x = new QWidget(this);
    QHBoxLayout *h1 = new QHBoxLayout(x);
    QHBoxLayout *h2 = new QHBoxLayout(x);

会出现警告:

QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout

解决方法:

    QWidget *x = new QWidget(this);
    QHBoxLayout *h1 = new QHBoxLayout(x);
    QHBoxLayout *h2 = new QHBoxLayout();
    h1->addLayout(h2);

或者给h2指定其它的widget作为parent。

文章评论

Keep it simple,stupid
文章数
348
今日访问
2224
今日IP数
808
最近评论

在家赚钱: 在家赚钱 <a href="http://www.265250.com/" >在家赚钱</a> 已阅,感谢站长分享!
liangzi: 不错 谢谢分享
tujiaw: registerThreadInactive:如果当前没有激活的线程,就去激活线程,让等待的线程去执行任务。
hgzzx: 佩服佩服。 请教:registerThreadInactive的作用是什么?
xuehaoyun: 很不错,来围观一下
tujiaw: 抱歉csdn code服务关闭了,这个代码我也找不到了
回到顶部