当前位置: 首页 > news >正文

网站开发行业知识新闻营销网站大全

网站开发行业知识新闻,营销网站大全,精品课程网站开发的开题报告,杭州疫情风险等级✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

在这里插入图片描述

✨博客主页
何曾参静谧的博客
📌文章专栏
「QT」QT5程序设计
📚全部专栏
「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合
「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发
「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明
「Py」Python程序设计「Math」探秘数学世界

目录

    • Qt中QSizeF类详解(基于Qt 5.15版本)
      • 一、类的引言
      • 二、使用范围
      • 三、类的头文件
      • 四、类的继承
      • 五、类的构造介绍
      • 六、共有函数介绍
      • 七、static函数介绍
      • 八、运算符重载
      • 九、详细代码举例

Qt中QSizeF类详解(基于Qt 5.15版本)

一、类的引言

QSizeF类是Qt框架中用于表示二维对象浮点大小的重要类。与QSize类不同,QSizeF使用浮点数(通常是qreal类型,在Qt中通常定义为double)来表示宽度和高度,从而提供了更高的精度。这在处理需要高精度的图形操作时尤为重要,如精确绘制、缩放和布局管理等。
官方文档:https://doc.qt.io/qt-5/qsizef.html

二、使用范围

QSizeF类主要用于以下场景:

  • 在需要高精度尺寸计算的图形绘制中。
  • 在处理缩放、旋转等图形变换时。
  • 在布局管理器中指定控件的浮点大小。
  • 在进行尺寸比较、缩放、交换等操作时,需要更高的精度。

三、类的头文件

在Qt 5.15版本中,QSizeF类的头文件是<QSizeF>,通常通过包含<QtCore/QSizeF>来引用。在使用QSizeF类之前,需要确保在项目的.pro文件中添加了QT += core配置,以包含QtCore模块。

四、类的继承

与QSize类一样,QSizeF类也是一个独立的类,不继承自其他类。它实现了对二维对象浮点大小的表示和操作功能,是Qt几何数据类体系中的一个重要组成部分。

五、类的构造介绍

QSizeF类提供了两个构造函数:

  1. QSizeF():构造一个默认的QSizeF对象,其宽度和高度均被设置为0.0。
  2. QSizeF(qreal width, qreal height):构造一个宽度为width、高度为height的QSizeF对象。
    何曾参静谧的博客

六、共有函数介绍

QSizeF类提供了以下共有成员函数:

  • qreal width() const:返回QSizeF对象的宽度。
  • qreal height() const:返回QSizeF对象的高度。
  • void setWidth(qreal width):设置QSizeF对象的宽度。
  • void setHeight(qreal height):设置QSizeF对象的高度。
  • bool isEmpty() const:如果宽度和高度中的任何一个小于或等于0.0(考虑到浮点数精度问题,通常不会严格等于0.0,而是接近0.0的一个极小值),则返回true;否则返回false。但请注意,由于浮点数的特性,判断一个浮点数是否等于0.0通常是不安全的,因此isEmpty()的实际用途可能有限。
  • bool isValid() const:如果宽度和高度都是有效的(即大于0.0,考虑到浮点数精度,这里通常意味着不是负数或极小的值),则返回true;否则返回false
  • QSizeF boundedTo(const QSizeF &other) const:返回一个包含此尺寸和给定other尺寸的最小宽度和高度的尺寸。
  • QSizeF expandedTo(const QSizeF &other) const:返回一个包含此尺寸和给定other尺寸的最大宽度和高度的尺寸。
  • QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const:根据指定的模式mode,将大小缩放为具有给定宽度w和高度h的矩形。
  • QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const:与上一个函数类似,但使用另一个QSizeF对象s作为缩放目标。
  • void transpose():交换宽度和高度值。注意,这个函数会修改当前对象。
  • QSizeF transposed() const:返回交换宽度和高度后的新QSizeF对象,不改变当前对象。

七、static函数介绍

在Qt 5.15版本中,QSizeF类没有提供static成员函数。但Qt框架中的其他类可能会提供与QSizeF相关的static函数,用于执行特定的几何计算或转换。

八、运算符重载

QSizeF类支持以下运算符重载,使得尺寸的操作更加直观和方便:

  • QSizeF &operator+=(const QSizeF &s):将当前QSizeF对象与另一个QSizeF对象s相加,结果存储在当前对象中。
  • QSizeF &operator-=(const QSizeF &s):将当前QSizeF对象与另一个QSizeF对象s相减,结果存储在当前对象中。
  • QSizeF &operator*=(qreal c):将当前QSizeF对象乘以一个浮点数c,结果存储在当前对象中。
  • QSizeF &operator/=(qreal c):将当前QSizeF对象除以一个浮点数c,结果存储在当前对象中。
  • bool operator==(const QSizeF &s1, const QSizeF &s2):比较两个QSizeF对象是否相等,考虑到浮点数精度问题,通常会有一个极小的误差范围。
  • bool operator!=(const QSizeF &s1, const QSizeF &s2):比较两个QSizeF对象是否不相等。

此外,QSizeF类还支持与QPointF类相似的操作符重载,如+-*/等,用于执行尺寸与点的加减、缩放等操作。但请注意,这些操作的结果通常是另一个QSizeF或QPointF对象,而不是直接修改当前对象(除非使用了*=/=等赋值运算符)。
何曾参静谧的博客

九、详细代码举例

以下是一个使用QSizeF类的详细代码示例:

#include <QCoreApplication>
#include <QSizeF>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 构造一个QSizeF对象QSizeF size1(100.5, 200.75);qDebug() << "Size1: width=" << size1.width() << ", height=" << size1.height();// 设置新的宽度和高度size1.setWidth(150.25);size1.setHeight(300.5);qDebug() << "Updated Size1: width=" << size1.width() << ", height=" << size1.height();// 构造另一个QSizeF对象QSizeF size2(250.0, 150.75);// 使用boundedTo函数获取最小尺寸QSizeF minSize = size1.boundedTo(size2);qDebug() << "Bounded Size: width=" << minSize.width() << ", height=" << minSize.height();// 使用expandedTo函数获取最大尺寸QSizeF maxSize = size1.expandedTo(size2);qDebug() << "Expanded Size: width=" << maxSize.width() << ", height=" << maxSize.height();// 使用scaled函数进行缩放,保持宽高比QSizeF scaledSize = size1.scaled(50.0, 50.0, Qt::KeepAspectRatio);qDebug() << "Scaled Size: width=" << scaledSize.width() << ", height=" << scaledSize.height();// 交换宽度和高度QSizeF transposedSize = size1.transposed();qDebug() << "Transposed Size: width=" << transposedSize.width() << ", height=" << transposedSize.height();// 直接修改对象(使用赋值运算符)size1 *= 0.5; // 缩放为原来的一半qDebug() << "Halved Size1: width=" << size1.width() << ", height=" << size1.height();return a.exec();
}

在这个示例中,我们创建了两个QSizeF对象size1size2,并使用了width()height()setWidth()setHeight()boundedTo()expandedTo()scaled()transposed()等成员函数来操作它们。此外,我们还展示了如何使用赋值运算符*=来直接修改对象。最后,我们使用qDebug()函数输出了各个尺寸的值。
何曾参静谧的博客


在这里插入图片描述

http://www.hkea.cn/news/135702/

相关文章:

  • 汕头个人建站模板网站推广计划方法
  • php企业网站无限制源码网络营销方案设计
  • 动漫网站开发与建设百度网盘网页版入口官网
  • 咸阳做网站长沙网络营销外包哪家好
  • 专门做私人定制旅游的网站搜索引擎营销方法
  • 注册安全工程师管理系统网奇seo赚钱培训
  • 武汉市住房和城乡建设厅官方网站生猪价格今日猪价
  • 住房和城乡建设部网站诚信评价搜索引擎优化人员优化
  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包
  • 企业网站建设效益分析联合早报 即时消息
  • html5网页成品代码自媒体seo优化
  • 门户网站建设招投标网络seo啥意思
  • 游戏币销售网站建设百度热搜seo
  • 线上投票链接怎么做厦门搜索引擎优化
  • 网页设计课程主要内容seo学校
  • php 深圳 电子商务网站开发seo优化好做吗
  • 网站建设开发技术天津济南网站设计
  • 信息公开网站建设网店推广分为哪几种类型
  • 南皮网站建设价格seo搜索引擎优化方式
  • 网上购物系统的设计与实现论文长沙seo优化公司
  • 风景旅游网页制作素材seo推广灰色词
  • 网站制作网站建设网页设计页面