3.QT布局管理

news2024/12/28 11:08:47

布局管理系统

布局管理器

QLayout类继承图:
在这里插入图片描述
新建Qt Widgets项目mylayout,选择基类QWidget,类名MyWidget

.ui拖用Font Combo Box、Text Edit,单击主界面,ctrl+L,发现两个部件填满界面,运行后随着主界面窗口改变大小
在这里插入图片描述

QBoxLayout(基本布局)

单击主界面,查看属性栏
在这里插入图片描述
在这里插入图片描述
右键主界面,布局->打破布局

//mywidget.cpp构造函数中添加

#include<QHBoxLayout>

    QHBoxLayout *layout=new QHBoxLayout;
    layout->addWidget(ui->fontComboBox);
    layout->addWidget(ui->textEdit);
    layout->setSpacing(50);
    layout->setContentsMargins(0,0,50,100);
    setLayout(layout);

运行结果:
在这里插入图片描述

QGridLayout(栅格布局)

.ui拖用一个Push Button

//mywidget.cpp构造函数中注释之前的,添加如下

#include<QGridLayout>

    QGridLayout *layout=new QGridLayout;
    //从0行0列开始,占据1行2列
    layout->addWidget(ui->fontComboBox,0,0,1,2);
    layout->addWidget(ui->pushButton,0,2,1,1);
    layout->addWidget(ui->textEdit,1,0,1,3);
    setLayout(layout);

运行结果:
在这里插入图片描述

QFormLayout(窗体布局)

.ui拖用Form Layout,双击,编辑标签文字如下,字段类型使用QLineEdit
继续添加,性别使用QComboBox、年龄使用QSpinBox、邮箱使用QLineEdit

运行结果:
在这里插入图片描述

综合使用

拖用Horizontal Layout,放入fontComboBox、pushButton
拖用Vertical Spacer分隔符,位置大致如下,属性栏sizeHint设置为100(暂时不会变,见下文)
单击主界面,ctrl+L
运行后Vertical Spacer不可见
在这里插入图片描述

设置部件大小

将Spacer的sizeType改为Fixed,再设置高度100,立刻变化
改变垂直布局管理器中的比例为2:1:
选中horizintalLayout,设置属性layoutStretch为2,1
在这里插入图片描述
在这里插入图片描述
改变窗体布局管理器的输入框宽度和对齐方式:
在这里插入图片描述
在这里插入图片描述

其中,layoutFieldGrowthPolicy设置部件大小的变化方式,layoutRowWrapPolicy设置是否需要换行,layoutLabelAlignment设置标签的对齐方式,layoutFormAlignment设置部件在表单的对齐方式

layoutFormAlignment示例

在这里插入图片描述

可拓展窗口

更改pushButton的文本为“显示可拓展窗口”,属性栏勾选checkable,转到槽toggled(bool)

//mywidget.cpp改动部分

//构造函数中添加
    ui->textEdit->hide();
    
//槽
void MyWidget::on_pushButton_toggled(bool checked)
{
    //设置文本编辑器为可拓展
    ui->textEdit->setVisible(checked);
    if(checked) ui->pushButton->setText(tr("hide"));
    else ui->pushButton->setText(tr("show"));
}

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

QSplitter分裂器

新建Qt Widgets项目mysplitter,选择基类QWidget,类名MyWidget

.ui拖用4个Push Button,同时选中,右键->布局->使用分裂器水平布局,拉大分裂器
属性栏设置如下:
在这里插入图片描述
运行结果:
在这里插入图片描述

设置伙伴(buddy)

新建Qt Widgets项目mybuddy,选择基类QWidget,类名MyWidget

.ui拖用4个Label,再拖用Push Button、Check Box、Line Edit、Spin Box
Label的文本编辑如下:
在这里插入图片描述
编辑伙伴关系:
在这里插入图片描述
在这里插入图片描述
文本中的&消失
在这里插入图片描述
运行结果:快捷键对应的字母有下划线
在这里插入图片描述

编辑Tab键顺序

在这里插入图片描述
按自定义顺序单击数字
在这里插入图片描述
运行后,按下Tab键,光标按照选定顺序移动
等价代码:

//mywidget构造函数中添加:
    setTabOrder(ui->checkBox,ui->lineEdit);//checkBox在lineEdit之前
    setTabOrder(ui->lineEdit,ui->pushButton);
    setTabOrder(ui->pushButton,ui->spinBox);

Qt Creator的定位器

ctrl+K调出定位器
在这里插入图片描述
在这里插入图片描述

参考书目

链接:Qt Creator快速入门第三版
提取码:3ryu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/465006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker部署MySQL主从复制

文章目录 平台说明一、Docker创建网络二、创建MySQL主从容器1.拉取镜像2.查看镜像3.创建启动容器 三、主从配置1.主机配置文件2.从机配置文件3.注意事项4.重启容器5.连接主从数据库主机配置从机配置启动从机复制 四、测试主从复制 平台说明 操作系统&#xff1a;Windows 11 Do…

接口测试入门必会知识总结(学习笔记)

目录 什么是接口&#xff1f; 内部接口 外部接口 接口的本质 什么是接口测试&#xff1f; 反向测试 为什么说接口测试如此重要&#xff1f; 越接近底层的 Bug&#xff0c;影响用户范围越广 目前流行的测试模型 接口测试的优越性 不同协议形式的测试 接口测试工作场景…

『python爬虫』01. 爬虫入门的基础知识(保姆级图文)

目录 1. 合法性2. 爬虫原理3. 网站源代码查看4. 查看网络请求总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 1. 合法性 查看网站的爬虫协议&#xff0c;简单介绍爬虫协议robots.txt&#xff0c;避免爬虫爬的好…

简单理解内存分页机制

文章目录 1.CPU寻址方式2.段式内存访问的缺点3.80386两级页表4.PAE三级页表5.x64四级页表6.虚拟内存 思考一个问题&#xff1a;如果没有这样的分页机制时应用程序是怎么访问物理内存地址&#xff1f; 1.CPU寻址方式 Effective Address Base (Index * Scale) Displacement …

加载自己的图像数据集

文章目录 1 加载图像数据集2 图像预处理3 再次加载数据集4 这里还有一个问题&#xff0c;我们没有验证集5 构建DataLoader6 检查是否正确导入数据集 原文链接&#xff1a;《加载自己的图像数据集》 ​ 数据集下载链接 1 加载图像数据集 目录结构&#xff1a; 针对这种非常典型…

Java+proj4j实现根据EPSG编码进行坐标系转换

场景 JavaGeoTools实现WKT数据根据EPSG编码进行坐标系转换&#xff1a; JavaGeoTools实现WKT数据根据EPSG编码进行坐标系转换_霸道流氓气质的博客-CSDN博客 上面使用GeoTools实现坐标系转换。 VueOpenlayersproj4实现坐标系转换: VueOpenlayersproj4实现坐标系转换_霸道流…

VUE3页面div点击改变样式

如题目所示。 用上VUE之后&#xff0c;前后端分离&#xff0c;组件式开发&#xff0c;代码复用、独立性和隔离性都挺好&#xff0c;可维护性得以提高。相比之下&#xff0c;以前用jQuery&#xff0c;代码实在太多了。 不过&#xff0c;vue有个地方不大好&#xff0c;就是控制…

算法基础(二)(共有30道例题)

六、数据结构 &#xff08;一&#xff09;数组 定义&#xff1a;数组是存放在连续内存空间上的相同类型数据的集合。数组可以方便的通过下标索引的方式获取到下标下对应的数据。 注意&#xff1a; &#xff08;1&#xff09;数组下标都是从0开始的。 &#xff08;2&#xff0…

【SWAT水文模型】SWAT水文模型建立及应用第二期:土地利用数据的准备(待更新)

SWAT水文模型建立及应用&#xff1a;土地利用数据的准备 1 简介2 土地利用数据的下载1.1 数据下载方式1.2 数据下载 2 土地利用数据的准备2.1 矢量转栅格2.2 土地利用类型的重分类2.3 土地利用分布图投影调整2.4 土地利用类型索引表建立 参考 SWAT水文模型建立及应用第一期主要…

前苹果设计总监创办,Humane想用AI+AR界面取代手机

在2001年&#xff0c;微软研究院一位工程师Gordon Bell开始了一段长时间的“生活记录”&#xff08;Lifelogging&#xff09;之旅&#xff0c;他会在胸前、头顶或是眼镜腿处佩戴相机&#xff0c;每30秒自动拍摄一张照片&#xff0c;以捕捉自己生命中的瞬间&#xff0c;记录下他…

数字化转型导师坚鹏:金融科技与保险公司转型

金融科技与保险公司转型 课程背景&#xff1a; 数字化背景下&#xff0c;很多保险公司存在以下问题&#xff1a; 不了解保险公司数转型现状、困惑与成功方法&#xff1f; 不清楚金融科技如何赋能保险公司数字化转型&#xff1f; 不了解保险公司数字化转型标杆企业成功案…

Linux系统上C程序的编译与调试

gcc分布编译链接&#xff1a; 预处理&#xff08;Pre-Processing&#xff09;编译&#xff08;Compiling&#xff09;汇编&#xff08;Assembling&#xff09;链接&#xff08;Linking&#xff09; gcc -E hello.c -o hello.i #预处理 gcc -S hello.i -o hello.s #编译 gcc -c…

ThingsBoard教程更新通知,规则节点全解析系列更新

前言 自从 《ThingsBoard系列教程》 专栏上线&#xff0c;我收到了很多读者的认同和肯定&#xff0c;这是我一直坚持分享的理由之一&#xff0c;做有价值的事&#xff0c;帮助他人。前段时间因为写书和学习的原因&#xff0c;ThingsBoard专栏已经4个月没更新。这就导致一些读者…

【点击查看】讯飞星火正在回答···

Hi&#xff0c;开发者&#xff1a; 关于世界&#xff0c;你有过什么样的疑问&#xff1f;每一次的提问&#xff0c;都代表着我们在关注什么&#xff0c;思考什么&#xff0c;好奇什么。世界的每一次更新&#xff0c;都始于一个新的提问。 我是讯飞星火认知大模型&#xff0c;…

【爆肝更新】第二章:Python基础语法——保姆级,超万字!

这一章我们开始学习Python的基础语法&#xff0c;包含字面量&#xff0c;运算符&#xff0c;变量&#xff0c;字符串格式化&#xff0c;input函数等&#xff0c;这一章是为整个Python体系学习打好基础&#xff0c;所以一定要重视起来。 习惯看视频的同学可以看这个免费教程&am…

面试题30天打卡-day13

1、Linux 中的硬链接和软连接是什么&#xff0c;二者有什么区别&#xff1f; 在Linux系统下&#xff0c;有两种链接文件&#xff0c;一种是硬链接&#xff08;Hard Link&#xff09;&#xff0c;一种是软链接&#xff0c;也称为符号链接&#xff08;Symbolic Link&#xff09;…

Linux-使用mobaxterm连接虚拟机ubuntu

一、准备工作 VMware&#xff1a;16.0.0 Ubuntu&#xff1a;18.4 MobaxTerm&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1dNsahe9wO5KrWlWXtNqT0A?pwdaz39 提取码&#xff1a;az39 二、实操 1.检查系统是否安装ssh service sshd status 如果显示未安装&#xff0…

Notes/Domino的未来在于

大家好&#xff0c;才是真的好。 很多企业不谈论应用程序&#xff0c;让Domino的平台价值和市场前景变得有些黯淡。 毕竟作为全球第一款企业级的邮箱平台&#xff0c;过去大部分企业和组织都在使用Notes/Domino。而从10来年前&#xff0c;很多企业开始大规模地由Notes/Domino…

GPT-3.5 生成 Fabric Cypher

GPT-3.5 生成 Fabric Cypher GPT-3.5 生成 Fabric CypherFabric 架构图数据库节点设计图数据模型设计Fabric 快速开始指南下载必要资源配置 构建数据在graph-node-1节点构建股票图谱在graph-node-2节点构建高管图谱 GPT-3.5 生成 Fabric Cypher Here’s the table of contents:…

【Java】『蓝桥杯』10道编程题及答案(四)

系列文章 【Java】『蓝桥杯』10道编程题及答案&#xff08;一&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/130223115 【Java】『蓝桥杯』10道编程题及答案&#xff08;二&#xff09; 本文链接&#xff1a;https://blog.csdn.net/y…