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

    完结
  • 相关阅读:
    插入排序的算法分析
    SQL的UNION操作
    二分查找的思路
    怎么看吉他简谱
    一句CSS代码杜绝网站iframe挂马
    关于NewFolder.文件夹无法删除的办法
    C#监听USB接入
    C# 系统服务添加安装
    .NET 实现ISAPI过滤器,指定类型文件防下载
    ASP 简单的异或加密方法
  • 原文地址:https://www.cnblogs.com/linger/p/2022192.html
Copyright © 2011-2022 走看看