• 填充 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执行计划之sql_trace
    Pycharm,出现Invalid VCS root mapping The directory 解决方法
    npm安装cnpm时候报错code EINTEGRITY
    Linux 常用命令汇总
    vue 父子组件传值
    vue 钩子函数的使用
    sql 语句中 order by 的用法
    sql查询的常用语句
    vue 甘特图简单制作
    Node.js安装及环境配置
  • 原文地址:https://www.cnblogs.com/linger/p/2022192.html
Copyright © 2020-2023  润新知