zoukankan      html  css  js  c++  java
  • 填充 Layout 的多余部分

    1. 使用QSpaceritem填充布局的多余部分,但当试图 delete QSpaceritem 对象时,程序就出错。代码如下:
       1:  QHBoxLayout *layout = new QHBoxLayout();
       2:  QSpacerItem *spacer = new QSpacerItem();
       3:  layout ->addItem(spacer);
       4:  spacerList.append(spacer); 
       5:   
       6:  ...
       7:   
       8:  while(!spacerList.isEmpty())
       9:  {
      10:      delete spacerList.takeFirst();
      11:  }

    为什么会这样呢?

    PS: 会删除spacer是因为这些是动态生成的,在同一个Layout里面切换内容时,需要删除掉Layout本来的内容。

    2. 因为上面问题还没有解决,所以使用了另一种方法:

       1:  QWidget* spacer = new QWidget();
       2:  spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);

    创建上面一个 widget 来代替 spacer, Lucky, it works perfectly.

     

    Technorati Tags: Qt,QSpaceritem,layout

    完结
  • 相关阅读:
    为什么不使用CSS expression?
    关于ol有序列表的小事儿...
    绝对定位的元素在IE6下莫名丢失解决办法
    C#操作XML
    .NET MSChart应用的一个简单例子 (转)
    微软图表控件MsChart使用初探(转)
    使用OleDbParameter来写Access的更新没反应的解决办法
    获取真实IP
    XML操作类转
    Model与XML互相转换
  • 原文地址:https://www.cnblogs.com/linger/p/2022192.html
Copyright © 2011-2022 走看看