2023-12-05 Qt学习总结6

news2024/11/27 22:40:48

点击 <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.coloradmin.cn/o/1300545.html

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

相关文章

perl处理base64、md5、SHA-1、SHA-256的计算

使用perl可以进行base64、md5、SHA-1、SHA-256的计算&#xff0c;使用也非常方便&#xff0c;下面是示例代码&#xff1a; #! /usr/bin/perl use v5.14; use MIME::Base64; use Digest;my $test_str hello world;# 测试base64 say encode_base64($test_str);# 测试md5 my $md…

kafka入门(四):消费者

消费者 (Consumer ) 消费者 订阅 Kafka 中的主题 (Topic) &#xff0c;并 拉取消息。 消费者群组&#xff08; Consumer Group&#xff09; 每一个消费者都有一个对应的 消费者群组。 一个群组里的消费者订阅的是同一个主题&#xff0c;每个消费者接收主题的一部分分区的消息…

STM32-TIM定时器输出比较

目录 一、输出比较简介 二、PWM简介 三、输出比较通道&#xff08;通用&#xff09; 四、输出比较通道&#xff08;高级&#xff09; 五、输出比较模式 六、PWM基本结构 七、PWM参数计算 八、外设介绍 8.1 舵机 8.2 直流电机及驱动 九、开发步骤 十、输出比较库函数…

TCP数据粘包的处理

TCP数据粘包的处理 背锅侠TCP解决方案2.1 发送端2.2 接收端 背锅侠TCP 在前面介绍套接字通信的时候说到了TCP是传输层协议&#xff0c;它是一个面向连接的、安全的、流式传输协议。因为数据的传输是基于流的所以发送端和接收端每次处理的数据的量&#xff0c;处理数据的频率可…

springboot084基于springboot的论坛网站

springboot084基于springboot的论坛网站 源码获取&#xff1a; https://docs.qq.com/doc/DUXdsVlhIdVlsemdX

[香橙派]orange pi zero 3 烧录Ubuntu系统镜像——无需HDMI数据线安装

一、前言 本文我们将介绍如何使用orange pi zero 3 安装Ubuntu系统&#xff0c;本文相关步骤均参考自开发手册。 二、实施准备 根据开发手册中所提到的&#xff0c;我们应该拥有如下配件: 1.orange pi zero 3 开发板 2.TF 卡——最小 8GB 容量的 class10 级或以上的高速闪迪卡。…

十大排序算法讲解

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

ActiveMQ任意文件写入漏洞(CVE-2016-3088)

简述&#xff1a;ActiveMQ的fileserver支持写入文件(但是不支持解析jsp),同时也支持移动文件。所以我们只需要先上传到服务器&#xff0c;然后再移动到可以解析的地方即可造成任意文件写入漏洞。我们可以利用这个漏洞来上传webshell或者上传定时任务文件。 漏洞复现 启动环境 …

一个例子带你入门影刀编码版(一)

文章结构 摘要需求分析伪代码编写代码实现完整代码相关链接 摘要 将通过一个电商业务场景下的真实需求&#xff0c;带领大家零基础入门影刀编码版&#xff0c;本系列将会分三步讲解&#xff0c;从接到需求到最后完成发版&#xff0c;整个过程中我们需要做些什么&#xff1f;带…

网页设计中增强现实的兴起

目录 了解增强现实 增强现实的历史背景 AR 和网页设计的交叉点 AR 在网页设计中的优势 增强参与度和互动性 个性化的用户体验 竞争优势和品牌差异化 AR 在网页设计中的用例 结论 近年来&#xff0c;增强现实已成为一股变革力量&#xff0c;重塑了我们与数字领域互动的方式。它被…

2023北京智慧城市与电气高峰论坛-安科瑞 蒋静

2023年7月27日&#xff0c;北京土木建筑学会电气设计委员会、北京电气设计技术协作及情报交流网联合举办的“北京电气设计第43届年会”在京盛大召开。安科瑞作为企业微电网能效管理平台服务商与广大同仁共聚本次盛会&#xff0c;尽享技术盛宴。 本次会议采用线上线下相结合&…

Spring JDBC和事务管理

Spring JDBC是Spring框架用来处理关系型数据库的模块&#xff0c;对JDBC的API进行了封装。 Spring JDBC的核心类为JdbcTemplate&#xff0c;提供数据CRUD方法 Spring JDBC使用步骤 Maven工程引入依赖spring-jdbc <dependency><groupId>org.springframework<…

logstash插件简单介绍

logstash插件 输入插件(input) Input&#xff1a;输入插件。 Input plugins | Logstash Reference [8.11] | Elastic 所有输入插件都支持的配置选项 SettingInput typeRequiredDefaultDescriptionadd_fieldhashNo{}添加一个字段到一个事件codeccodecNoplain用于输入数据的…

代码随想录二刷 |二叉树 | 二叉树的右视图

代码随想录二刷 &#xff5c;二叉树 &#xff5c; 二叉树的右视图 题目描述解题思路代码实现 题目描述 199.二叉树的右视图 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例…

【vtkWidgetRepresentation】第八期 vtkImplicitCylinderRepresentation

很高兴在雪易的CSDN遇见你 前言 本文分享vtkImplicitCylinderRepresentation&#xff0c;主要从源码解析、和实际应用方面展开&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易会继续努力分享&#xff0c;一起进步&#xff01; …

基于PLC的电梯控制系统(论文+源码)

1.系统设计 电梯采用了PLC控制方式&#xff0c;通过对PLC进行逻辑程序设计&#xff0c;电梯不仅在控制水平上得到了质的提升&#xff0c;同时在安全性上也得到了大大提高。控制系统在构造上实现了简洁化&#xff0c;不仅优化了硬件接线方便了线路施工&#xff0c;同时对控制要…

Java设计模式分类

java的设计模式大体上分为三大类&#xff1a; 创建型模式&#xff08;5种&#xff09;&#xff1a;工厂方法模式&#xff0c;抽象工厂模式&#xff0c;单例模式&#xff0c;建造者模式&#xff0c;原型模式。 结构型模式&#xff08;7种&#xff09;&#xff1a;适配器模式&am…

51单片机的内核架构组成 介绍

对于51单片机相信很多电子信息或者相关专业的朋友应该都不会感觉陌生&#xff0c;很多专业在大学课程中开设的单片机课程就是使用的51单片机进行授课和学习的。51单片机的内容相较于其他高性能复杂的单片机来说&#xff0c;架构相对简单一些&#xff0c;寄存器也少很多&#xf…

【FMCW毫米波雷达设计 】 — FMCW波形

原书&#xff1a;FMCW Radar Design 1 引言 本章研究驱动FMCW雷达的主要波形:线性调频(LFM)波形。我们研究信号的行为及其性质。随后&#xff0c;本章讨论了匹配滤波理论&#xff0c;并研究了压缩这种波形的技术&#xff0c;特别是所谓的拉伸处理&#xff0c;它赋予FMCW雷达极…

【STM32】电机驱动

一、电机分类 二、直流电机的分类 1.有刷电机 2.无刷电机 3.直流减速电机 三、H桥电路 正向旋转 驱动Q1和Q4 反向旋转 驱动Q2和Q3 四、MC3386电机驱动芯片 1.基本原理图 1&#xff09;前进/后退&#xff1a;IN1和IN2的电平顺序决定电机的正反转 2&#xff09;调节速度&#…