1. 布局

为什么要布局:

  1. 布局之后窗口的排列是有序的
  2. 布局之后窗口的大小发生变化, 控件的大小也会对应变化
  3. 如果不对控件布局, 窗口显示出来之后有些控件的看不到的

布局是可以嵌套使用

常用的布局方式:

  • 水平布局 -> 所有的控件水平排列 -> 一行多列
  • 垂直布局 -> 所有控件垂直排列 -> 多行一列
  • 网格(栅格)布局 -> 多行多列

在Qt中设置布局的两种方式

  • 使用Qt提供的布局



  • 使用QWidget进行布局 -> 推荐
  1. 首先需要从工具栏中拖拽一个QWidget窗口

  2. 将要布局的控件放到这个QWidget中

  3. 对这个QWidget进行布局

比如我先放一个widget到ui中(我把主题换成了黑色,所以可能有些看不太清)



然后我放两个按钮到里面



看得出来,我是随意放在里面的

现在我们选中widget,看上面的Layouts

选择水平布局,就是上面图片的第一个,第二个是垂直布局



然后现在他们就排列成水平的了

2. 弹簧

我现在有一个水平布局的widget,但是我觉得角色离服务端和客户端太远了,想拉进一点,怎么办呢?



答案就是用弹簧

这是加一根弹簧的效果



然后再加一根



你会发现确实拉近了角色,而且因为是弹簧,所以会随着你的窗口而变化,非常方便。

3. 设置居中的两种方法(1.属性,2.弹簧)

3.1 方法一,属性

这是标签Label居中后的效果,怎么实现的呢?



答案是在右下角的属性中



将水平方向的属性值改为AlignHCenter

3.2 方法二,弹簧

加两根弹簧也能够解决问题

注意是水平方向的弹簧,下面这个



下面插入两根弹簧

用弹簧的时候记得将标签放入widget中,widget设置成水平布局,效果如下图

Qt中的布局浅析与弹簧的使用,以及Qt居中的两种方法的更多相关文章

  1. js中如何删除某个元素下面的所有子元素?(两种方法)

    js中如何删除某个元素下面的所有子元素?(两种方法) 一.总结 方法一:通过元素的innerHTML属性 元素element.innerHTML=""; 方法二:通过元素的remo ...

  2. html中如何实现表格移入移出时背景颜色改变?(两种方法)

    html中如何实现表格移入移出时背景颜色改变?(两种方法) 一.总结 1.通过css的table标签的hover属性: 10 #tab:hover{ 11 background: green 12 } ...

  3. QT中给各控件增加背景图片(可缩放可旋转)的几种方法

    http://blog.csdn.net/liukang325/article/details/44832397 1. 给QPushButton 增加背景图片:背景图片可根据Button大小自由缩放. ...

  4. Python中通过csv的writerow输出的内容有多余的空行两种方法

    第一种方法 如下生成的csv文件会有多个空行 import csv #python2可以用file替代open with open("test.csv","w" ...

  5. [转]Qt中定时器使用的两种方法

    Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...

  6. Qt中显示图像的两种方法

    博客转载自:https://blog.csdn.net/lg1259156776/article/details/52325361 在Qt中处理图片一般都要用到QImage类,但是QImage的对象不 ...

  7. QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)

    QT中获取选中的radioButton的两种方法   QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioBu ...

  8. QT中获取选中的radioButton的两种方法

    QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast&l ...

  9. 【Qt开发】Qt中显示图像的两种方法对比

    在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法. 一.QImage转QPixmap,然后用QLabel::setPixmap( ...

随机推荐

  1. Failed opening required

    报错 点击页面右下角的图标,再点击错误可以显示报错.或者在项目中runtime--log也可以查看error [64]think\\__require_file(): Failed opening r ...

  2. tp 创建文件并写入数据

    代码:1.$url = Env::get('root_path').'application/admin/test.txt'; //定义创建路径 $file = fopen($url,"w& ...

  3. 爬虫:获取动态加载数据(selenium)(某站)

    如果网站数据是动态加载,需要不停往下拉进度条才能显示数据,用selenium模拟浏览器下拉进度条可以实现动态数据的抓取. 本文希望找到某乎某话题下讨论较多的问题,以此再寻找每一问题涉及的话题关键词(侵 ...

  4. Uva 642 - Word Amalgamation sort qsort

     Word Amalgamation  In millions of newspapers across the United States there is a word game called J ...

  5. SDK安全测试

    设备调试 strace MI 5X 链接:https://pan.baidu.com/s/1KfsfEgjniozXGUD_69m0SQ 提取码:mulo 推strace到手机中 adb push s ...

  6. redis分布式锁-spring boot aop+自定义注解实现分布式锁

    接这这一篇redis分布式锁-java实现末尾,实现aop+自定义注解 实现分布式锁 1.为什么需要 声明式的分布式锁 编程式分布式锁每次实现都要单独实现,但业务量大功能复杂时,使用编程式分布式锁无疑 ...

  7. [bug] Container killed on request. Exit code is 143

    原因 内存不足 参考 https://blog.csdn.net/hongxiao2016/article/details/88919606 https://blog.csdn.net/Zsigner ...

  8. [DB] CDH集群规划

    配置 三台机器:node01.node02.node03 node01:6G+60G node02:2G+40G node03:2G+40G 组件 Cloudera Managerment Servi ...

  9. ELK学习实验017:filebeat收集java日志

    收集JAVA格式日志 1 查看Java格式日志 elasticsearch属于Java日志,可以收集elasticsearch作为Java日志范本 [root@node3 ~]# tail -f /u ...

  10. lua中求table长度--(转自有心故我在)

    关于lua table介绍,看以前的文章http://www.cnblogs.com/youxin/p/3672467.html. 官方文档是这么描述#的: 取长度操作符写作一元操作 #. 字符串的长 ...