2023-12-05 Qt学习总结6


点击 <C 语言编程核心突破> 快速C语言入门


Qt学习总结

  • 前言
  • 十八 QMessageBox消息对话框
  • 十九 Qt布局管理
  • 总结


前言

要解决问题: 学习qt最核心知识, 多一个都不学.


十八 QMessageBox消息对话框

QMessageBox消息对话框是Qt中的一个提供用户交互界面的对话框窗口。

它通常用于在程序中弹出提示框或警告框。

用户可以通过它来选择是或否、确定或取消等选项。

QMessageBox可以显示文本信息、图标和按钮。

常用的QMessageBox函数有:

  1. QMessageBox::about(QWidget *parent, const QString &title, const QString &text):显示一个包含文本和"OK"按钮的对话框,用于显示有关应用程序的信息。

  2. QMessageBox::warning(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = QMessageBox::Ok, QMessageBox::StandardButton defaultButton = QMessageBox::NoButton):显示一个包含警告图标、文本和按钮的对话框,询问用户是否要继续操作。

  3. QMessageBox::information(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = QMessageBox::Ok, QMessageBox::StandardButton defaultButton = QMessageBox::NoButton):显示一个包含信息图标、文本和按钮的对话框。

  4. QMessageBox::question(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::StandardButton defaultButton = QMessageBox::NoButton):显示一个包含一个有两个按钮的图标和文本的对话框。

  5. QMessageBox::critical(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = QMessageBox::Ok, QMessageBox::StandardButton defaultButton = QMessageBox::NoButton):显示一个包含错误图标、文本和按钮的对话框。

这些函数中,除了必须提供的参数外,还可以指定按钮和默认按钮的样式。

注意:以上函数的参数都是可选的,您可以选择适合您的情况的参数来使用。

通过pushbutton按钮以及信号和槽机制, 弹出一个QMessageBox, 这个在我们以前的示例中已经频繁使用.

在这里插入图片描述

十九 Qt布局管理

Qt布局管理是一种自动化的方式来管理和调整控件的排列和大小,以适应不同的窗口大小和分辨率。

Qt提供了多种布局管理类,如QHBoxLayout、QVBoxLayout、QGridLayout等,它们分别适用于不同的布局方式和场景。

QHBoxLayoutQVBoxLayout是最常用的布局管理类,它们用于水平和垂直布局,

它们都只需要指定一个父控件,然后添加需要放置的子控件,即可自动排列和调整子控件的大小。

除了水平和垂直布局外,QGridLayout也是一种常用的布局管理方式,它允许将控件按照行和列的方式排列

此外,Qt还提供了其他一些布局管理类,如QFormLayout, 适用于表单布局场景。

总之,Qt布局管理提供了一种灵活、高效、自适应的控件排列和调整方式,可以有效提高界面开发的效率和可靠性。

以下是它们的常用函数:

QHBoxLayout

  1. QHBoxLayout(QWidget *parent = Q_NULLPTR):构造函数,创建一个水平布局管理器。

  2. addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment()):添加控件到布局管理器中, stretch参数表示控件在布局中的拉伸因子,alignment参数表示控件在布局中的对齐方式。

  3. setSpacing(int spacing):设置控件之间的间距。

  4. setMargin(int margin):设置布局管理器与父部件之间的边距。

QVBoxLayout

  1. QVBoxLayout(QWidget *parent = Q_NULLPTR):构造函数,创建一个垂直布局管理器。

  2. addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment()):添加控件到布局管理器中,stretch参数表示控件在布局中的拉伸因子,alignment参数表示控件在布局中的对齐方式。

  3. setSpacing(int spacing):设置控件之间的间距。

  4. setMargin(int margin):设置布局管理器与父部件之间的边距。

QGridLayout

  1. QGridLayout(QWidget *parent = Q_NULLPTR):构造函数,创建一个网格布局管理器。

  2. addWidget(QWidget *widget, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment alignment = Qt::Alignment()):添加控件到布局管理器中,row和column参数表示控件所在的行和列,rowSpan和columnSpan参数表示控件跨越的行数和列数,alignment参数表示控件在布局中的对齐方式。

  3. setSpacing(int spacing):设置控件之间的间距。

  4. setMargin(int margin):设置布局管理器与父部件之间的边距。

拖入3个button,
在这里插入图片描述
使用垂直布局:
在这里插入图片描述
使用水平布局:
在这里插入图片描述

表单布局:
在这里插入图片描述

网络布局:
在这里插入图片描述


总结

十八 QMessageBox消息对话框
十九 Qt布局管理


点击 <C 语言编程核心突破> 快速C语言入门


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

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

相关文章

MyBatis 四大核心组件之 ParameterHandler 源码解析

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

【图片版】计算机组成原理考前复习题【第2章 运算方法和运算器-1】

目录 前言 考前复习题&#xff08;必记&#xff09; 结尾 前言 在计算机组成原理的学习过程中&#xff0c;我们深入探索了计算机系统概述这一重要领域。计算机系统作为现代科技的核心&#xff0c;是整个计算机科学的基石。我们将学到的知识与理论转化为了能够解决现实问题的…

Python+unittest+requests接口自动化测试框架搭建 完整的框架搭建过程

首先配置好开发环境&#xff0c;下载安装Python并下载安装pycharm&#xff0c;在pycharm中创建项目功能目录。如果不会的可以百度Google一下&#xff0c;该内容网上的讲解还是比较多比较全的&#xff01; 大家可以先简单了解下该项目的目录结构介绍&#xff0c;后面会针对每个文…

docker 可视化工具操作说明 portainer

官网地址 https://docs.portainer.io/start/install-ce/server/docker/linux 1.First, create the volume that Port docker volume create portainer_data2.下载并安装容器 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restartalways -v /var/run/docker…

PWN动态调试

这篇文章就是来教大家学习怎么动态调试的&#xff0c;然后我还写了一篇关于动态调试的文章&#xff0c;不是buu上面的题&#xff0c;就是两道简单的栈溢出问题&#xff0c;那两道题挺有特点的。大家可以去看看。 每日3道PWN之课外2道&#xff08;第2.5天&#xff09;-CSDN博客 …

性能监控体系:InfluxDB Grafana Prometheus

InfluxDB 简介 什么是 InfluxDB &#xff1f; InfluxDB 是一个由 InfluxData 开发的&#xff0c;开源的时序型数据库。它由 Go 语言写成&#xff0c;着力于高性能地查询与存储时序型数据。 InfluxDB 被广泛应用于存储系统的监控数据、IoT 行业的实时数据等场景。 可配合 Te…

SSD基础架构与NAND IO并发问题探讨

在我们的日常生活中&#xff0c;我们经常会遇到一些“快如闪电”的事物&#xff1a;比如那场突如其来的雨、那个突然出现在你眼前的前任、还有就是今天我们要聊的——固态硬盘&#xff08;SSD&#xff09;。 如果你是一个技术宅&#xff0c;或者对速度有着近乎偏执的追求&…

【Qt开发流程】之容器类1:介绍及常用容器类和使用Java风格迭代器进行遍历

概述 Qt库提供了一组通用的基于模板的容器类。这些类可用于存储指定类型的项。例如&#xff0c;如果需要一个可调整大小的QString数组&#xff0c;可以使用QVector<QString>。 这些容器类被设计成比STL容器更轻、更安全、更易于使用。如果不熟悉STL&#xff0c;或者更喜…

低多边形3D建模石头材质纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

云计算在计算机领域的应用与发展

云计算在计算机领域的应用与发展 一、引言 随着科技的不断发展&#xff0c;计算机领域已经成为当今社会最为活跃和创新的领域之一。云计算作为一种新兴的计算模式&#xff0c;已经在计算机领域中得到了广泛的应用&#xff0c;并且正在不断地推动着计算机领域的发展。本文将探…

Ultimate VFX

Ultimate VFX 构建套件:

【利用二手车数据进行可视化分析】

利用二手车数据进行可视化分析 查看原始数据去除重复数据需求分析1.统计全国总共有多少量二手车&#xff0c;用KPI图进行展示2.统计安徽总共有多少量二手车&#xff0c;用KPI图进行展示3.统计合肥总共有多少量二手车&#xff0c;用KPI图进行展示4.取最贵的10辆二手车信息&#…

web,Apache简述

一.HTTP请求访问的完整过程 1.建立连接 2.接收请求 3.处理请求 4.访问资源 服务器获取请求报文中请求的资源web服务器&#xff0c;即存放了web资源的服务器&#xff0c;负责向请求者提供对方请求的静态资源&#xff0c;或动态运行后生成的资源 静态资源&#xff1a;不需要…

C语言 内联函数 + 递归函数

函数分类 内联函数 1&#xff09;内联函数在编译时将函数的代码直接插入到调用它的地方&#xff0c;而不是通过函数调用的方式执行&#xff0c;从而减少了函数调用的开销&#xff0c;提高了代码的执行速度 2&#xff09;使用 inline 关键字来声明 3&#xff09;将函数声明为内联…

小目标检测模型设计的一点思考

1. 小目标的特性 目标之间的交叠概率比较低&#xff0c;即使有交叠&#xff0c;其IoU多数情况下也是比较小的 AI-TOD Tiny Person Dateset 小目标自身的纹理显著度有强弱区别&#xff0c;但是总体来说纹理特征都较弱&#xff0c;很多时候需要借助一定的图像上下文来帮助确认 …

Java解决岛屿周长问题

Java解决岛屿周长问题 01 题目 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完全包围&am…

ssm校园论坛管理系统项目分享

校园论坛管理系统是基于java编程语言&#xff0c;mysql数据库&#xff0c;ssm框架和idea工具开发&#xff0c;本系统主要分为学生用户&#xff0c;管理员两个角色&#xff0c;其中用户可以注册登陆系统&#xff0c;在线发帖&#xff0c;查看栏目帖子&#xff0c;回复帖子&#…

某音上很火的圣诞树分享

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 效果截图&#xff08;这里不给动态了&#xff0c;某音到处都是了&#xff09;&#xff1a; 源代码&#xff1a; <script src"…

Spring Boot 3 集成 MyBatis详解

MyBatis是一款开源的持久层框架&#xff0c;它极大地简化了与数据库的交互流程。与类似Hibernate的ORM框架不同&#xff0c;MyBatis更具灵活性&#xff0c;允许开发者直接使用SQL语句与数据库进行交互。Spring Boot和MyBatis分别是两个功能强大的框架&#xff0c;它们的协同使用…

Linux shell编程学习笔记34:eval 命令

0 前言 在JavaScript语言中&#xff0c;有一个很特别的函数eval&#xff0c;eval函数可以将字符串当做 JavaScript 代码执行&#xff0c;返回表达式或值。 在Linux Shell 中也提供了内建命令eval&#xff0c;它是否具有JavaScript语言中eval函数的功能呢&#xff1f; 1 eval命…