Qt 入门 ---- 布局管理
这是运行后的程序界面:

这是点击右上角“最大化”之后的程序界面:

接下来讲一下如何进行自动布局解决窗口拉伸问题。
① 原理:
在项目“设计”模式的左侧有如下两个控件栏“Layouts”和“Spacers”:

“Layouts”负责将窗口部件以一定的样式排列,“Spacers”可以填充控件之间的间隔,从而提供不对齐方式排列。
② 操作步骤
选择垂直排布“Vertical Layout”,拖放到窗口界面,然后将文本框拖入其中。在选择两个“Vertical Spacer”分别放置在“Vertical Layout”里的文本框的上下两侧。效果如图:

选择水平排布“Horizontal Layout”,拖放在界面窗口,将图片和“Vertical Layout”一起拖入其中,并在中间插入"Horizontal Spacer",效果如下图:

选择水平排布“Horizontal Layout”,拖放在界面窗口,将“退出”按钮拖放其中,并在两边插入"Horizontal Spacer",效果如下图:

右击界面窗口的空白处,在弹出的快捷菜单中,选择最后一项“布局”>>“垂直布局”,使得整个窗口中的所有部件垂直布局。并可在相应位置插入“Vertical Spacer”。最终效果如下图:

运行结果如下:

最大化后如下图所示:

<参考文献:C++ GUI Programming with Qt4, Second Edition. Jasmin Blanchette, Mark Summerfield>
Qt 入门 ---- 布局管理的更多相关文章
- Qt之布局管理--基本布局
Qt提供的布局类以及他们之间的继承关系QLayout-----QGirdLayout | ---QBoxLayout----QHBoxLayout | --QVBoxLayout----------- ...
- Qt之布局管理器
简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当 ...
- RAP开发入门-布局管理
布局类继承关系 FillLayout new FillLayout(SWT.VERTICAL/HORIZONTAL)设置竖直/水平填充 RowLayout wrap折行显示.pack自适应布局(布局 ...
- Qt中 布局管理器失效问题
1 问题描述 在Qt5.12.0 版本中,使用 自动管理器发生,无法生效 2 问题代码 Widget::Widget(QWidget *parent) : QWidget(parent), butto ...
- [ PyQt入门教程 ] Qt Designer工具的布局管理
这节课很重要..界面整洁美观与否就看布局了..这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了.. 本文主要讲述Qt Designer工具实现界面控件布局管理,就是排列组合控件.包括水平布局 ...
- Qt布局管理器的使用(一)
曾经对Qt的布局管理器掌握的还不清楚,今天特意学习了下.感觉收获还挺大的,特意拿出来和大家分享. 首先.要明确布局管理器的用处,及使我们的界面看起来比較整洁.美化.另外一点就是为了使我们的控件可以更随 ...
- Qt Quick 布局介绍
在 Qt Quick 中有两套与布局管理相关的类库,一套叫作 Item Positioner(定位器),一套叫作 Item Layout(布局). 定位器包括 Row(行定位器).Column(列定位 ...
- [Qt Creator 快速入门] 第4章 布局管理
第3章讲述了一些窗口部件,当时往界面上拖放部件时都是随意放置的,这对于学习部件的使用没有太大的影响,但是,对于一个完善的软件,布局管理却是必不可少的. 无论是想要界面中部件有一个很整齐的排列,还是想要 ...
- 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解
一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...
随机推荐
- PHPList 安装
邮件发送开源软件 PHPList 安装介绍 1:安装基本信息 官网地址 地址:https://www.phplist.com/ 其他:https://www.d-ip.jp/phplist/ 官网手册 ...
- Java基础面试题(史上最全、持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- Jenkins 构建自动化 .NET Core 发布镜像
Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署.启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最 ...
- hive学习笔记之三:内部表和外部表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 仅使用JsonUtility && File类实现Json数据读写
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using S ...
- Nginx:Nginx配置url重定向
符号含义: 正则表达式匹配: ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配: -f和!-f用来判断是否存在文件 -d和!-d用 ...
- python自定义异常,使用raise引发异常
1.自定义异常类,自定义的异常类必须是Exception或者Error的子类! 1 #!/usr/bin/env python 2 # encoding: utf-8 3 4 class Illega ...
- 所有的Java虚拟机必须实现在每个类或接口被Java程序 “ 首次主动使用 ” 时才初始化他们
原文:https://www.cnblogs.com/fanjie/p/6916784.html Java程序对类的使用方式可分为两种– 主动使用– 被动使用 被动使用以后再讲,这里说说什么是主动使用 ...
- IntelliJ idea 中新建Spring项目 并部署到tomcat
步骤还不熟悉 看的别人的文章做下去的 :https://www.cnblogs.com/yangyquin/p/5285272.html 一:新建Spring项目: 1. 2. 3. 4.然后在We ...
- android实现计时器(转)
新建布局文件activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Linea ...