删除文章

确定要删除这篇文章吗?

取消
确定

QLayout: Attempting to add QLayout

     阅读(2226)  2017-06-17 23: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
文章数
306
总访问量
539249
今日访问
989
最近评论

tujiaw : registerThreadInactive:如果当前没有激活的线程,就去激活线程,让等待的线程去执行任务。
hgzzx : 佩服佩服。 请教:registerThreadInactive的作用是什么?
xuehaoyun : 很不错,来围观一下
tujiaw : 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞 : 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
于淞 : 你好,这个文章的源码能分享一下吗,838106303@163.com,谢谢了 上面的链接不能用了
tujiaw : 多谢多谢
essaypinglun college-paper.org : 很好的博客,赞赞
Folly : 这个实现有点奇怪,Qt为什么没有统一的比对方法。
过多s : alert("hello, world!")
回到顶部