【QT】布局介绍

news2024/10/6 14:28:33

布局

在这里插入图片描述

  1. 水平布局
  2. 垂直布局
  3. 网格布局

widget的应用

在这里插入图片描述

将对应的按钮,label放入到widget中

水平弹簧和垂直弹簧

在这里插入图片描述

使用弹簧来对他们布局

在这里插入图片描述

设置弹簧属性:

在这里插入图片描述

最后结果——页面中的内容和随页面的缩小和方法自适应。

在这里插入图片描述

水平布局和垂直布局只能针对一行一列

在这里插入图片描述

将用户密码放入到同一个widget。选中,点击网格布局。

在这里插入图片描述

一个窗口需要分成几部分

QSpacerltem(int w,int h,QSizePolicy:Policy hPolicy QSizePolicy:Minimum,QSizePolicy::Policy
VPolicy QSizePolicy:Minimum);
备注:常用于初始化构造弹簧时,设置固定或可变大小的区域。

void changeSize(int w,int h,QSizePolicy:Policy hPolicy QSizePolicy:Minimum,QSizePolicy:Policy
vPolicy QSizePolicy:Minimum);
备注:常用于动态改变弹簧的大小,设置大小变化及隐藏功能时使用。

/**************************隐藏 弹簧******************************/
ui->horizonSpacer->changeSize(0, 0); 
 
/**************显示并改变 horizon 类型的 弹簧*********************/
ui->horizonSpacer->changeSize(20, 20, QSizePolicy::Expanding); 
 
/**************显示并改变 vertical 类型的 弹簧********************/
ui->verticalSpacer->changeSize(20, 20, QSizePolicy::Preferred, QSizePolicy::Expanding);
void InitControls()
{
    m_pCustomLayout = new QHBoxLayout;  //创建水平布局
    m_pCustomLayout->setContentMargins(0,0,0,0);
    m_pCustomLayout->setSpacing(30);
    
    //为水平布局左侧,添加固定长度120大小的弹簧
    m_pLeftHorizonSpacer = new QSpacerItem(120,20,QSizePolicy::Fixed,QSizePolicy::Minimum);
    m_pCustomLayout->addItem(m_pLeftHorizonSpacer);
    m_pCustomLayout->addStretch(1);  //均分布局(使按钮居中)
 
    //btn_ok按钮
    btn_ok = new QPustButton(this);    
    m_pCustomLayout->addWidget(btn_ok);
 
    //btn_cancel按钮
    btn_cancel = new QPushButton(this); 
    m_pCustomLayout->addWidget(btn_cancel);
    m_pCustomLayout->addStretch(1); //均分布局(使按钮居中)
  
   //将layout布局加入到界面中
   setLayout(m_pCustomLayout);
}

void SetCenterButtonStyle()  
{
    m_pLeftHorizonSpacer->changeSize(0, 0);
    m_pCustomLayout->update();
}

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

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

相关文章

第七篇 - 人工智能与机器学习技术VS量测(Measurement)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司 - 它是如何赋能数字化营销生态的?

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒…

2024年字节跳动+京东+美团面试总结,程序员经验分享

现在的IT行业竞争压力越来越大,尤其是Android开发行业。而很多Android程序员却每天都在重复CRUD,原地徘徊! 今年年初,你就想改变现状,于是在网上刷了大量面试题,强行记下之后,开始参加面试!但是…

AI日报:这种病毒从生成式AI工具中窃取您的数据

文章目录 人工智能计算机病毒蠕虫像细菌一样传播病毒测试 人工智能计算机病毒 一组研究人员创造了一种能够利用生成人工智能系统的计算机病毒,包括Gemini Pro和GPT-4驱动的ChatGPT版本。 Morris II是一种蠕虫,它操纵生成的人工智能模型来执行恶意任务&…

AndroidStudio连不上adb报错ADB Connection Error

之前笔者一直通过AndroidStudio来看日志,也一直用的一套自己的SDK,用了好几年了。 但是突然有一天,AndroidStudio启动后就弹出警告窗:ADB Connection Error,如下: 在Event Log面板还持续性的输出&#x…

前端工具网站合集(持续更新)

综合类网站 那些免费的砖 统计推荐免费工具网站 那些免费的砖 - 优雅地白嫖各种免费资源 (thosefree.com)https://www.thosefree.com/ CSS样式网站 毒蘑菇-配色 CSS 配色,阴影网站 一个好用的配色网站! 毒蘑菇 - 配色 (dumogu.top)https://color.dumogu.top/ …

工艺美术设计VR仿真教学软件为教师提供更丰富的教学资源

随着科技的飞速发展,我们的生活正在经历着前所未有的变革。其中,虚拟现实(VR)技术的出现,不仅改变了我们的娱乐方式,更在教育领域中开辟出一片新的天地。今天,我们就来探讨一下VR美术绘画教学平台带来的价值。 首先&am…

day14_用户前台项目环境搭建(首页接口开发,分类接口开发,网关服务搭建,Redis缓存,Spring Cache)

文章目录 1 尚品甄选H5介绍1.1 业务功能介绍1.2 系统架构1.3 前端H5开发说明 2 搭建项目环境2.1 项目结构说明2.2 模块依赖说明2.3 环境说明2.4 项目模块创建2.4.1 spzx-parent2.4.2 spzx-service2.4.43 service-product 2.5 导入接口文档 3 首页接口开发3.1 需求分析3.3 接口开…

[最佳实践] Windows上构建一个和Linux类似的Terminal

感谢大佬批评指正,现已更新 preview Target:致力打造最赏心悦目Window下的终端,同时能够很接近Linux的使用习惯 key word:windows终端美化 windows terminal windows powershell 类似Linux下的Window终端 Window也能用ll windows…

让Excel 365 Excel 2021快速转化为生产力,创造价值!

文章目录 每日一句正能量前言关键点内容简介作者简介读者赞誉后记购买链接赠书活动 每日一句正能量 人的一生,好不好只有自己知道,乐不乐只有自己明白。快乐是一种心情,一种自然、积极向上的心态。在平凡之中寻求快乐,在磨难之中寻…

AI智能伪原创工具:原创文章自动生成的革新

随着人工智能技术的迅猛发展,AI智能伪原创工具正逐渐改变着我们的日常生活和工作方式。其中,原创文章自动生成技术的出现,为内容创作者、企业和学术界带来了全新的可能性和便利。这项技术的引入不仅提高了内容创作的效率,还为用户…

【查找算法】插值查找

一:插值查找 代码公式:int mid left (right - left) * (findVal - arr[left]) / (arr[right] - arr[left]); 1.1 基本概念 插值查找,有序表的一种查找方式。插值查找是根据查找关键字与查找表中最大最小记录关键字比较后的查找方法。插值…

什么样的跨网数据交换产品 能实现数据摆渡和数据同步?

首先,为什么会产生跨网数据摆渡的需求和场景呢?那是因为做了网络隔离,企业进行网络隔离的原因主要包括以下几点: 1、提高安全性:网络隔离是防止未授权访问和网络攻击的有效手段。通过将网络划分为多个独立的子网&…

Docker 快速入门实操教程(完结)

Docker 快速入门实操教程(完结) Docker,启动! 如果安装好Docker不知道怎么使用,不理解各个名词的概念,不太了解各个功能的用途,这篇文章应该会对你有帮助。 前置条件:已经安装Doc…

flutter 使用webview

背景: 一般都有使用webview加载网页的需求,比如加载隐私协议、用户协议等。 如何做: 当然,我们自己不用封装轮子,在pub.dev上有成熟的轮子:webview_flutter 首先,将依赖导入,在pub…

Appium系列(1)安装启动Appium

Appium环境准备 Mac电脑jdk环境AndroidSDK环境node>8.1.0(最好用最新版本) 安装命令 npm i -g appium安装不成功请检查node 版本是否正确 安装成功命令行输入appium回车查看 安装驱动程序 1、先检查当前驱动情况 通过 appium driver list 进行…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:PinchGesture)

用于触发捏合手势,触发捏合手势的最少手指为2指,最大为5指,最小识别距离为5vp。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 接口 PinchGesture(value?: { finge…

刷题笔记day27-回溯算法3

39. 组合总和 var path []int var tmp []int var result [][]int// 还是需要去重复,题目中要求的是至少一个数字备选的数量不同。 // 所以需要剪枝操作,右边的要比左边的> func combinationSum(candidates []int, target int) [][]int {// 组合问题pa…

淘宝下单接口的解析|跨境电商中淘宝代购功能实现的API接口接入详解【附代码实例】

淘宝接口解析是指通过淘宝提供的API(Application Programming Interface)来实现程序与淘宝平台的数据交互和功能调用。通过淘宝接口,用户可以实现商品信息获取、订单管理、物流跟踪等功能。 在使用淘宝接口前,首先需要注册成为阿…

在 SpringBoot3 中使用 Mybatis-Plus 报错

在 SpringBoot3 中使用 Mybatis-Plus 报错 Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required Caused by: java.lang.IllegalArgumentException: Property sqlSessionFactory or sqlSessionTemplate are requiredat org.springframework.util.Assert.no…

Sora:AI视频模型的无限可能与挑战

随着人工智能技术的突飞猛进,AI视频模型已成为科技领域的新焦点。OpenAI推出的AI视频模型Sora,凭借其卓越的技术性能和前瞻性,为AI视频领域的发展揭开了新的篇章。本文将从技术解析、应用场景、未来展望、伦理与创意以及用户体验与互动五个方…