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 中 overflow: hidden清楚浮动的真正原因
    Get、Post请求中文乱码问题有效解决方法
    安装PostgreSQL和卸载PostgreSQL
    PostgresSql日期字段比较大小
    关于多线程编程的一点思考
    Python 虚拟环境 pyenv、venv(pyvenv)、virtualenv之间的区别
    python常用命令
    python中各种文件打开模式a w r
    python-安装
    day1-安装配置
  • 原文地址:https://www.cnblogs.com/linger/p/2022192.html
Copyright © 2011-2022 走看看