网站建设运营策划方案建站行业乱象完整版

news/2025/9/23 1:05:39/文章来源:
网站建设运营策划方案,建站行业乱象完整版,网站模版html,小型企业网站模板文章目录 0 引入1、带有标尺的温度/湿度计控件1.头文件2.核心代码 2、竖起来的温度/湿度计控件1.头文件2.实现 3、引用 0 引入 QT原生控件没有实现如仪表盘或者温度计的控件#xff0c;只好自己实现#xff0c;文章代码部分参考引用的文章。直接上图 图一 带有标尺的温度计… 文章目录 0 引入1、带有标尺的温度/湿度计控件1.头文件2.核心代码 2、竖起来的温度/湿度计控件1.头文件2.实现 3、引用 0 引入 QT原生控件没有实现如仪表盘或者温度计的控件只好自己实现文章代码部分参考引用的文章。直接上图 图一 带有标尺的温度计、湿度 图二 温度计、湿度 控件最核心的部分在函数paintEvent绘制部分如果需要动画效果还需要加一个QPropertyAnimation 这是最主要的剩下的细节根据需求增加减少即可。 1、带有标尺的温度/湿度计控件 因为只做数据显示用所以只需要向控件传数据即可。 主要功能1、可设置显示范围 2、显示过程中加了动画效果 3、背景色和前景色以及刻度尺颜色可变 4、刻度尺间距可变控件大小随着QWidget适应 1.头文件 代码如下示例 protected:void paintEvent(QPaintEvent *);void drawBg(QPainter *painter);void drawProgress(QPainter *painter);void drawRulerTop(QPainter *painter);void drawRulerBottom(QPainter *painter);private:QPropertyAnimation *m_valueAnimation;double minValue; //最小值double maxValue; //最大值qreal value; //当前值int longStep; //长线条等分步长int shortStep; //短线条等分步长bool rulerTop; //刻度线在上面bool isAdd; //是否为增加默认为的增加QColor bgColor; //背景颜色QColor lineColor; //线条颜色QColor progressColor; //进度颜色public:qreal getValue() const;void setrulerTop(bool istop); //设定刻度线再上还是在下默认是在上void setValue(qreal v);void setRange(int minValue, int maxValue);void startAnimation();void updateValue(double value);void setBgColor(const QColor bgColor); //设置背景颜色void setLineColor(const QColor lineColor); //设置线条颜色void setProgressColor(const QColor progressColor); //设置进度颜色 2.核心代码 绘制部分参考引用2代码感谢刘典武老师的无私开源有需要的可去做定制。 代码如下 void HumidityProgress::startAnimation() {qreal startValue value;if(isAdd){m_valueAnimation-setKeyValueAt(0.5, value0.5);m_valueAnimation-setKeyValueAt(1, value);m_valueAnimation-setStartValue(startValue-0.5);m_valueAnimation-start();}else{m_valueAnimation-setKeyValueAt(0.5, value-0.5);m_valueAnimation-setKeyValueAt(1, value);m_valueAnimation-setStartValue(startValue0.5);m_valueAnimation-start();}}void HumidityProgress::paintEvent(QPaintEvent *) {//绘制准备工作,启用反锯齿QPainter painter(this);painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);//按照绘制顺序drawBg(painter);drawProgress(painter);if (rulerTop) {drawRulerTop(painter);} else {drawRulerBottom(painter);} }void HumidityProgress::drawBg(QPainter *painter) {painter-save();painter-setPen(lineColor);painter-setBrush(bgColor);painter-drawRect(rect());painter-restore(); }void HumidityProgress::drawProgress(QPainter *painter) {painter-save();painter-setPen(Qt::NoPen);painter-setBrush(progressColor);double length width();double increment length / (maxValue - minValue);double initX (value - minValue) * increment;QRect rect(0, 0, initX, height());painter-drawRect(rect);painter-restore(); }void HumidityProgress::drawRulerTop(QPainter *painter) {painter-save();painter-setPen(lineColor);double initX 0;//绘制横向标尺上部分底部线double initTopY 0;QPointF lineTopLeftPot QPointF(initX, initTopY);QPointF lineTopRightPot QPointF(width() - initX, initTopY);painter-drawLine(lineTopLeftPot, lineTopRightPot);//绘制上部分及下部分横向标尺刻度double length width();//计算每一格移动多少double increment length / (maxValue - minValue);//长线条短线条长度int longLineLen 15;int shortLineLen 10;//根据范围值绘制刻度值及刻度值 长线条需要移动10像素 短线条需要移动5像素for (int i minValue; i maxValue; i i shortStep) {if (i % longStep 0) {QPointF topPot QPointF(initX, initTopY);QPointF bottomPot QPointF(initX, initTopY longLineLen);painter-drawLine(topPot, bottomPot);//第一个值和最后一个值不要绘制if (i minValue || i maxValue) {initX increment * shortStep;continue;}QString strValue QString(%1).arg((double)i, 0, f, 0);double textWidth fontMetrics().width(strValue);double textHeight fontMetrics().height();QPointF textPot QPointF(initX - textWidth / 2, initTopY textHeight longLineLen);painter-drawText(textPot, strValue);} else {if (i % (longStep / 2) 0) {shortLineLen 10;} else {shortLineLen 6;}QPointF topPot QPointF(initX, initTopY);QPointF bottomPot QPointF(initX, initTopY shortLineLen);painter-drawLine(topPot, bottomPot);}initX increment * shortStep;}painter-restore(); }该处使用的url网络请求的数据。 2、竖起来的温度/湿度计控件 因为只做数据显示用所以只需要向控件传数据即可。 控件是好看但是大小不能改变所以这里需要自己实现了源码作者已经放上。 1.头文件 代码如下示例 #ifndef THERMOMETREDLG_H #define THERMOMETREDLG_H#include QWidget #include QPropertyAnimation #include QPainter #include QTimerclass thermometreDlg : public QWidget {Q_OBJECTQ_PROPERTY(qreal value READ getValue WRITE setValue) //声明属性public:explicit thermometreDlg(QWidget *parent nullptr);qreal getValue();void setValue(qreal value);void changeValue(qreal value);protected:void paintEvent(QPaintEvent *e);public slots:void startAnimation();signals:private:qreal m_value;qreal curValue;int m_width;QRectF m_rect;int maxValue, minValue;qreal m_radius;QPropertyAnimation *m_valueAnimation;void updateRect();};#endif // THERMOMETREDLG_H 2.实现 代码如下示例 #include thermometredlg.h #include QDebugthermometreDlg::thermometreDlg(QWidget *parent) : QWidget(parent) {m_width 20;maxValue 100;minValue 0;m_radius 1.05;m_value 0;curValue m_value;QTimer *at new QTimer(this);at-start(1000);m_valueAnimation new QPropertyAnimation(this, value);m_valueAnimation-setDuration(1000);m_valueAnimation-setEasingCurve(QEasingCurve::OutCubic);m_valueAnimation-setLoopCount(1);connect(at, SIGNAL(timeout()), this, SLOT(startAnimation()));}void thermometreDlg::updateRect() {m_rect.setX(0);m_rect.setY(20 - height()/2);m_rect.setWidth(m_width);m_rect.setHeight(height() - 40 - m_width* m_radius); }void thermometreDlg::setValue(qreal value) {m_value value;update(); }void thermometreDlg::changeValue(qreal value) {if(value maxValue)value maxValue;if(value minValue)value minValue;curValue value; }qreal thermometreDlg::getValue() {return m_value; }void thermometreDlg::paintEvent(QPaintEvent *e) {updateRect();QPainter painter(this);QPen pen(Qt::black);painter.translate(this-width()/2, this-height()/2); //坐标轴移动到中心点painter.setRenderHints(QPainter::TextAntialiasing | QPainter::Antialiasing); // 启用反锯齿painter.save();//绘制上方的柱状painter.fillRect(m_rect, QColor(168,200, 225));//绘制底部的圆QRectF tmpRect QRectF(m_rect.bottomLeft(), QPointF(m_width, height()/2- m_width*m_radius));painter.fillRect(tmpRect, QColor(255, 0, 0));painter.setPen(Qt::NoPen);painter.setBrush(QColor(255, 0, 0));painter.drawEllipse(tmpRect.bottomLeft()QPointF(tmpRect.width()/2, 0),m_width*m_radius, m_width*m_radius);painter.restore();//绘制刻度以及刻度值painter.save();painter.setPen(QColor(Qt::black));int nYCount (maxValue - minValue)/101;qreal perHeight (m_rect.height())/nYCount;for (int i0; inYCount; i) {QPointF basePoint m_rect.bottomLeft() - QPointF(0, perHeight/2) - QPointF(0, perHeight*i);//左侧大刻度painter.drawLine(basePoint, basePointQPointF(-10, 0));for (int j1; j10; j) {if(i nYCount -1)continue;painter.drawLine(basePoint-QPointF(0, perHeight/10*j),basePoint-QPointF(5, perHeight/10*j));}painter.drawText(basePointQPointF(-28, 4), QString(%1).arg(minValuei*10));//右侧大刻度basePoint m_rect.bottomRight() - QPointF(0, perHeight/2) - QPointF(0, perHeight*i);painter.drawLine(basePoint, basePointQPointF(10, 0));for (int j1; j10; j) {if(i nYCount -1)continue;painter.drawLine(basePoint-QPointF(0, perHeight/10*j),basePoint-QPointF(-5, perHeight/10*j));}}painter.restore();//根据值填充m_rectqreal h (m_value-minValue)/(maxValue-minValue)*(m_rect.height()-perHeight);if(h0)h 0;if(h m_rect.height())h m_rect.height();painter.fillRect(m_rect.adjusted(0, m_rect.height()-h-perHeight/2-1 , 0, 0), QColor(255, 0, 0));QWidget::paintEvent(e); }void thermometreDlg::startAnimation() {qreal startValue getValue();m_valueAnimation-setKeyValueAt(0, startValue-1);m_valueAnimation-setKeyValueAt(0.5, curValue1);m_valueAnimation-setKeyValueAt(1, curValue);m_valueAnimation-setStartValue(startValue-2);m_valueAnimation-start(); } 3、引用 1、用qt实现一个温度计控件 2、Qt编写自定义控件2-进度条标尺 3、Qt动画框架QPropertyAnimation属性动画

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

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

相关文章

新建网站的步骤阿里云搜索引擎入口

目录 前言 一、fsck命令 1、HDFS副本块数量的配置 2、fsck命令查看文件的副本数 3、block配置 二、NameNode元数据 1、edits文件 2、fsigame文件 3、NameNode元数据管理维护 4、元数据合并控制参数 5、SecondaryNameNode的作用 三、HDFS数据的读写流程 1、数据写入…

网络优化推广 网站开发建设重庆seo优化公司

正文 大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里&…

做网站需要多少带宽点播视频网站怎么建设

实验报告题目: 内核模块实验1、实验目的模块是Linux系统的一种特有机制,可用以动态扩展操作系统内核功能。编写实现某些特定功能的模块,将其作为内核的一部分在管态下运行。本实验通过内核模块编程在/porc文件系统中实现系统时钟的读操作接口。2、实验内…

怎么区分营销型网站个人宽带 架设网站需备案

本文翻译自 Reduce the scope and complexity of style calculations,作者:Jeremy Wagner, 略有删改。 JavaScript通常用来改变页面的视觉效果。比如通过改变style样式或者通过计算后改变页面布局,比如搜索或排序数据。长时间运行…

增加网站访客wordpress蜘蛛插件

一、环境QT版本:QT 5.8.0(msvc2013_64)MySQL版本:mysql 5.7.19二、配置之前 mysql 数据库一直都连接不上,网上也搜了很多资料,主要还是库文件的问题。重新将 mysql.pro 编译一下,将生成的 .dll 和 .lib 文件拷贝到 QT …

做深度报道的网站沪尚茗居装修口碑怎么样

档案馆展厅设计的特色化不仅可以增强参观者的体验感,还可以更好地展现档案馆的历史文化价值。 在设计档案馆展厅时,我们可以通过以下几个方面来让其更具特色: 一、主题明确 首先,确定展厅的主题是关键。可以是档案馆的历史沿革…

北京网站建设 shwl虚拟机wordpress建站

0、国内 GitHub 被爆造假,起底背后的黑色产业链作为全球最大的开源社区,GitHub 对于程序员群体而言像是空气般重要的存在,而互联网公司也会通过 GitHub 来进一步了解面试者的编程习惯,技术水平等。但最近知乎上有一篇《中国内地 G…

网页与网站之间的关系做网站的域名怎么申请

引入 今日概要 图片懒加载seleniumphantomJs谷歌无头浏览器知识点回顾 验证码处理流程今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 …

新手做站必看 手把手教你做网站免费域名网站黄

Mysql数据库 ⽬前关系数据库有六种范式: 第⼀范式(1NF)、第⼆范式(2NF)、第三范式(3NF)、巴斯-科德范式 (BCNF)、第四范式(4NF)和第五范式(5NF&a…

php企业网站cms网站设计流程详细步骤

YOLOv8n原图检测YOLOv8n增强后检测召回率和置信度都有提升 前言 这篇博客讲讲低照度,大家都催我出一些内容,没想到这么多同学搞这个,恰好我也做过这方面的一些工作,那今天就来讲解一些方法,低照度的图像增强大体分“传统算法”和“深度学习算法”; 目前低照度的图像增…

手机seo网站推广seo型网站

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数: ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind…

网站建设公司应该怎么转型wordpress 调用豆瓣

每个优秀的程序员都喜欢编写简洁但有效且经过优化的代码。 类型推断是JDK 7中引入的一种方法,它肯定会为您带来更少键入的好处。 您以以下方式使用Java代码已有很长时间了。 但是,在初始化Collections的特定实现时,您是否曾经想到过代码重复&…

云建站平台哪家好濮阳网络电视直播

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现。本文将介绍关于SimpleBaseline模型的原理,以及利用pytorch框架搭建模型…

凡客建站手机版下载咋样查看网站用什么编程语言做的

1:端口需要隔离开 新版增加GRPC 不要挨着设置ip,否则会出现端口占用。 可以使用 8848 8858 8868 8848GRPC会占用9848 9899 8849: 占用9849 9850 8850: 占用9850 9851 nginx 负载也需要与上述端口 隔离开…

怎么把自己做的网站让别人收到国内做网站群平台的公司

在嵌入式环境下,使用CMSIS-DSP库进行音频信号处理是一种常见的应用场景。通过CMSIS-DSP库,开发人员可以利用嵌入式系统的处理能力来实现各种数字信号处理(DSP)功能,例如音频滤波、均衡器、噪音消除等。本文将介绍如何在…

楚雄做网站界面设计属于什么专业

return中断方法和Unreachable code(永远达不到的代码) 1.下面这段代码因为for循环是个死循环,System.out.println(); 执行不到编辑器会报错Unreachable code(永远达不到的代码) public static void main(String[] ar…

哪个网站做视频赚钱为什么建设网站要年年交钱

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器:定义组件重用样式 Extend装饰器:定义扩展组件样式 前面记录了ets组件样式…

合肥网站建设服务哪里有免费的网站推广软件

el-table当数据量大的时候,实现滚动到底部后加载数据,直接上js代码,有其他需求请各自更改 第一步、在data中定义两个数组 data() {return {innerList:[], //新数组,用于存放全部数据innerData:[], //el-table表格数组dom:null,…

淘宝单页面网站零基础网站建设视频

随着信息技术的不断发展,企业应用开发的需求也日益增长。为满足这一需求,低代码与系统集成逐渐崭露头角,成为推动企业数字化转型的重要力量。本文将从低代码的概念、优势,以及其与系统集成的结合等方面进行探讨,以期为…

凡科网做网站好吗免费网站建设 百度收录

本文介绍了Linux的C开发环境的构成和安装,使读者对Linux的C开发环境能有初步的了解。 你了解Linux吗?相信现在越来越多的人会说“是”的。那么你了解到何种程度呢?不可否认,目前决大多 数的Linux用户对Linux的了解还处于比较低级的…