这篇文档是我用了Qt一个月后,回来补充的。

问题:很多朋友刚用Qt,当我们把界面控件摆好后,再加layout布局,界面会发生很大变形。就算不变形,窗口放大缩小后,控件还是不随着窗口发生变化,这个问题也困扰了我好几天。问题如下图所示:

解决方法:

网上朋友提供的解决方案很多,实际都能解决问题。总的来说有以下两种方式:

1、最简单的方法,还是QtDesigner直接布局。

在VS中用Qt创建窗口时候,一般它自动给你生成了一个centralWidget,所有的控件都是在这个上面摆放的。

所以我们只需要把所有控件摆放在每个Layout中,肯定没问题,我的上面例子是因为我每个GroupBox里面的控件都用Layout布局好了,外面的centralWidget也用了个VBoxLayout布局了。但是我的每个GroupBox没有放在layout中,所以当我最后选择centralWidget布局VBoxLayout时候,出现了界面混乱。

我们应该给每一个GroupBox一个单独的布局。这样就不会出问题了。界面可以自由缩小和放大了。

总结来说:只要在QtDesigner中,所有的控件全部放在Layout中布局,并在最外面的centralWidget里也放一个布局,加上我们可用的spacing和Margining,基本上就可以满足我们的布局需求了。

2、第二种方法就是网上所说的Qt重绘事件QWidget::ResizeEvent 以及Resize()和setGeometry()函数的运用。

这个一般是在界面动态发生改变时候必须用的。

我后期再慢慢总结这块。。。。

另外,界面缩小放大后,所有控件可以跟着自动缩小和变化了。但是它的缩小放大的机制和每一个布局和控件中的属性相关,否则布局虽然没变,但是大小变化的并不好看!

布局中的属性:margining spacing stretch等可以看这篇文章

QLayout的属性介绍

控件的布局,大小变化的属性:介绍可以看这篇文章:

【转】如何在Qt 4程序中优化布局结构-兼回答网友提问

参考文章:

解决Qt Designer中的Form的内容不随着Form一起缩放的问题

QT布局管理器使用心得及引发的思考

QT界面大小自动变化相关推荐

  1. QT界面:控件随界面大小自适应变化

    在用QT做一个图像显示界面的过程中需要控件随着QT界面缩放进行自适应变化的问题,特此记录一下. 环境:Win10+VS2015+QT5 1.拖拽控件 首先,新建一个QT GUI工程,在Qt Desig ...

  2. WPF字体大小随着控件大小自动变化

    参考文章:https://blog.csdn.net/ljz_1985/article/details/17141087 实现的效果如下所示:(不使用ViewBox)当窗体变大或者缩小时,计算字体大小 ...

  3. linux qt程序窗口大小变化,Linux-Qt - 程序界面大小自适应屏幕分辨率

    来源: http://blog.163.com/dingmz_frcmyblog/blog/static/2173040232013251021450/ 方法一:针对当前背景图片.控件坐标等等都已经提 ...

  4. c# groupbox大小_【已解决】C#中使得控件随着WinForm窗体的大小改变而自动变化

    [问题] 想要使得一个C#中的一个窗体中的控件,DataGridView,自动随着WinForm窗体变化而变化,即: 中的显示数据的灰色部分, 另外还有上面那个"2.actions" ...

  5. Qt仿win7自动顶部最大化左侧右侧半屏效果

    Win7系统不得不说是非常好用的,也是目前为止占用份额最大的操作系统,其中win7有个效果,将窗体拖动到顶部时会自动最大化,拖动到左侧右侧时会自动半屏显示,再次拖动窗体到其他位置,会重新恢复之前的大小 ...

  6. 转载:ROS的QT界面 开发史上 最强教程

    https://blog.csdn.net/LOVE1055259415/article/details/80575432 基于ROS的QT界面开发史上最强教程 使用ROS下的QT插件开发基于ROS界 ...

  7. Qt界面编程-Qt简介

    一.Qt简介 Qt是什么 图形用户程序框架,是对底层应用编程接口API面向对象的封装. 是一套基于C++语言的类库,专注但不局限于图形用户界面的开发,也可以进行系统调用.网络编程.数据库.2D/3D图 ...

  8. Qt界面优化:鼠标双击特效

    Qt界面优化:鼠标双击特效 文章目录 Qt界面优化:鼠标双击特效 一.双击特效 二.使用步骤 1. .h部分 2. .cpp部分 注意点 gif动图的背景必须是透明的!!! 总结 一.双击特效 二.使 ...

  9. QT界面中实现视频帧显示的多种方法及应用

    QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...

最新文章

  1. 容斥 + 爆搜打表 ---- 2020年南京icpc H.Harmonious Rectangle
  2. 如何查看手机连接wifi密码的记录
  3. PHP5 加速模块OPcache
  4. 保护模式 对CPL,RPL,DPL 的总结
  5. dijkstra+堆优化
  6. 更换checkbox的原有样式
  7. HTML渲染过程详解
  8. 20180321选择排序-简单选择排序
  9. Spring集成Redis集群(含spring集成redis代码)
  10. PHPExcel导出excel 复制代码
  11. 【开源工程】之YUVPlayer1.6
  12. 这才是程序员春运抢票的正确姿势!
  13. python editor_Python+Weditor
  14. C++C面试题100道分析(21-40)
  15. 求n个连续自然数之和为一个非负整数的数组
  16. FLUKE 754过程校准器带HART协议
  17. 南京大学俞扬博士AIDL演讲全文:强化学习前沿(上)
  18. for..in loops iterate over the entire prototype chain
  19. 1.STM32F103-点亮第一颗LED
  20. PS打不开php,ps打不开未响应怎么办

热门文章

  1. Maven下 SpringMvn+thymeleaf 搭建
  2. Maven学习笔记5:Maven属性、profile和资源过滤
  3. 守住你自己的“沉香”
  4. nginx配置高可用的集群
  5. 线性插值改变图像尺寸_图像分割--gt;上采样的那些事
  6. kesioncms ajax分页,改进KesionCMS V9.0x SQL标签分页支持嵌套
  7. compose部署redis和mysql_浅析docker-compose部署mysql无法访问的问题
  8. Python基本操作(四) 循环与判断
  9. 程序员面试时自称字节跳动工作两年,被发现学历造假,结果蒙了
  10. 你应该知道的 CSS 基础知识