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

电子商务网站建设与规划案例手机网站程序源码

电子商务网站建设与规划案例,手机网站程序源码,怎么wordpress用的什么主题,广告联盟广告点击一次多少钱程序示例精选 QtC自定义控件仪表盘动画仿真 如需安装运行环境或远程调试#xff0c;见文章底部个人QQ名片#xff0c;由专业技术人员远程协助#xff01; 前言 这篇博客针对QtC自定义控件仪表盘动画仿真编写代码#xff0c;代码整洁#xff0c;规则… 程序示例精选 QtC自定义控件仪表盘动画仿真 如需安装运行环境或远程调试见文章底部个人QQ名片由专业技术人员远程协助 前言 这篇博客针对QtC自定义控件仪表盘动画仿真编写代码代码整洁规则易读。 学习与应用推荐首选。 文章目录 一、所需工具软件 二、使用步骤 1. 引入库 2. 代码实现 3. 运行结果 三、在线协助 一、所需工具软件 1. VS, Qt 2. C 二、使用步骤 1.引入库 #include QWidget #include QPropertyAnimation #include QtMath #include QPainter 2. 代码实现 代码如下: #include GaugePanel.h GaugePanel::~GaugePanel() {hShearAnimation-stop();vShearAnimation-stop();delete hShearAnimation;delete vShearAnimation; }void GaugePanel::paintEvent(QPaintEvent*) {int width this-width();int height this-height();int side qMin(width, height);//绘制准备工作,启用反锯齿,平移坐标轴中心,等比例缩放QPainter painter(this);painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);painter.translate(width / 2, height / 2);painter.scale(side / 215.0, side / 215.0);painter.shear(double(hShearValue / 100.0f), double(vShearValue / 100.0f));//内层渐变drawInnerGradient(painter);//外层渐变drawOuterGradient(painter);//外层光晕drawOuterHalo(painter);//刻度线drawScale(painter);//刻度值drawScaleNum(painter);//绘制指针drawPointer(painter);//绘制指针扇形drawPointerSector(painter);//绘制值drawValue(painter);//绘制单位drawUnit(painter); }void GaugePanel::drawOuterGradient(QPainter* painter) {if (radiusHalo radiusOuter)return;painter-save();QRectF rectangle(0 - radiusHalo, 0 - radiusHalo, radiusHalo * 2, radiusHalo * 2);QPen framePen(colorOuterFrame);framePen.setWidthF(1.5f);painter-setPen(framePen);painter-drawEllipse(rectangle);painter-setPen(Qt::NoPen);QPainterPath smallCircle;QPainterPath bigCircle;float radius radiusOuter;smallCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);radius (radiusHalo - radiusOuter);bigCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);//大圆抛去小圆部分QPainterPath gradientPath bigCircle - smallCircle;QRadialGradient gradient(0, 0, radius, 0, 0);//gradient.setSpread(QGradient::ReflectSpread);gradient.setColorAt(0.85, colorOuterStart);gradient.setColorAt(0.98, colorOuterEnd);painter-setBrush(gradient);painter-drawPath(gradientPath);painter-restore(); }void GaugePanel::drawInnerGradient(QPainter* painter) {if (radiusOuter radiusInner)return;painter-save();painter-setPen(Qt::NoPen);QPainterPath smallCircle;QPainterPath bigCircle;float radius radiusInner;smallCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);radius (radiusOuter - radiusInner);bigCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);//大圆抛去小圆部分QPainterPath gradientPath bigCircle - smallCircle;QRadialGradient gradient(0, 0, radius, 0, 0);//gradient.setSpread(QGradient::ReflectSpread);gradient.setColorAt(0.7, colorInnerStart);gradient.setColorAt(1, colorInnerEnd);painter-setBrush(gradient);painter-drawPath(gradientPath);painter-restore(); }void GaugePanel::drawOuterHalo(QPainter* painter) {painter-save();painter-setPen(Qt::NoPen);QPainterPath smallCircle;QPainterPath bigCircle;float radius radiusHalo;smallCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);radius (110.0 - radiusHalo);bigCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);//大圆抛去小圆部分QPainterPath gradientPath bigCircle - smallCircle;QRadialGradient gradient(0, 0, 100, 0, 0);gradient.setSpread(QGradient::ReflectSpread);gradient.setColorAt(radiusHalo / 100, colorHaloStart);gradient.setColorAt(1, colorHaloEnd);painter-setBrush(gradient);painter-drawPath(gradientPath);painter-restore(); }void GaugePanel::drawScale(QPainter* painter) {float radius 85;painter-save();painter-setPen(QColor(255, 255, 255));painter-rotate(30);int steps (30);double angleStep (360.0 - 60) / steps;QPen pen painter-pen();pen.setCapStyle(Qt::RoundCap);for (int i 0; i steps; i) {if (i % 3 0) {pen.setWidthF(1.5);painter-setPen(pen);QLineF line(0.0f, radius - 8.0f, 0.0f, radius);painter-drawLine(line);}else {pen.setWidthF(0.5);painter-setPen(pen);QLineF line(0.0f, radius - 3.0f, 0.0f, radius);painter-drawLine(line);}painter-rotate(angleStep);}painter-restore(); }void GaugePanel::drawScaleNum(QPainter* painter) {float radius 95.0f;painter-save();painter-setPen(QColor(255, 255, 255));double startRad (330 - 90) * (M_PI / 180);double deltaRad (300) * (M_PI / 180) / 10;for (int i 0; i 10; i) {double sina sin(startRad - i * deltaRad);double cosa cos(startRad - i * deltaRad);double value 1.0 * i * ((30) / 10);//刻度值范围QString strValue QString(%1).arg((double)value, 0, f, 0);double textWidth fontMetrics().width(strValue);double textHeight fontMetrics().height();int x radius * cosa - textWidth / 2;int y -radius * sina textHeight / 4;painter-drawText(x, y, strValue);}painter-restore(); }void GaugePanel::drawPointer(QPainter* painter) {painter-save();float radius 83.0;painter-rotate(30 int(value * 10));QPen pen painter-pen();pen.setWidthF(1.0);pen.setColor(QColor(50, 154, 255, 200));painter-setPen(pen);QLineF line(0.0f, 0.0f, 0.0f, radius);painter-drawLine(line);painter-restore(); }void GaugePanel::drawPointerSector(QPainter* painter) {float radius 87.5f;painter-save();painter-setPen(Qt::NoPen);QRectF rect(-radius, -radius, radius * 2, radius * 2);painter-setBrush(QColor(50, 154, 255, 50));painter-drawPie(rect, -120 * 16, -value * 16 * 10);painter-restore(); }void GaugePanel::drawValue(QPainter* painter) {int radius 100;painter-save();painter-setPen(QColor(255, 255, 255));painter-setFont(QFont(Arial, 22, 22, true));QRectF textRect(-radius, -radius, radius * 2, radius * 2);QString strValue QString(%1).arg((double)value, 0, f, 0);painter-drawText(textRect, Qt::AlignCenter, strValue);painter-restore(); }void GaugePanel::drawUnit(QPainter* painter) {int radius 100;painter-save();painter-setPen(QColor(255, 255, 255));painter-setFont(QFont(Arial, 9, -1, true));QRectF textRect(-radius, -radius 20, radius * 2, radius * 2);painter-drawText(textRect, Qt::AlignCenter, km/h);painter-restore(); }double GaugePanel::getValue() const {return this-value; }int GaugePanel::getHShearValue() const {return this-hShearValue; }int GaugePanel::getVShearValue() const {return this-vShearValue; }double GaugePanel::getRadiusInner() const {return radiusInner; }double GaugePanel::getRadiusOuter() const {return radiusOuter; }double GaugePanel::getRadiusHalo() const {return radiusHalo; }QColor GaugePanel::getColorOuterFrame() const {return colorOuterFrame; }QColor GaugePanel::getColorInnerStart() const {return colorInnerStart; }QColor GaugePanel::getColorInnerEnd() const {return colorInnerEnd; }QColor GaugePanel::getColorOuterStart() const {return colorOuterStart; }QColor GaugePanel::getColorOuterEnd() const {return colorOuterEnd; }QColor GaugePanel::getColorHaloStart() const {return colorHaloStart; }QColor GaugePanel::getColorHaloEnd() const {return colorHaloEnd; }void GaugePanel::setValue(int value) {setValue(double(value)); }void GaugePanel::setValue(double value) {updateValue(value); }void GaugePanel::setHShearValue(int value) {if (value 100 || value -100)return;this-hShearValue value;update(); }void GaugePanel::setVShearValue(int value) {if (value 100 || value -100)return;this-vShearValue value;update(); }void GaugePanel::setColorOuterFrame(QColor color) {colorOuterFrame color; }void GaugePanel::setRadiusInner(int radius) {setRadiusInner(double(radius)); }void GaugePanel::setRadiusInner(double radius) {if (radius 0.0f radius 100.0f) {radiusInner radius;update();} }void GaugePanel::setRadiusOuter(int radius) {setRadiusOuter(double(radius)); }void GaugePanel::setRadiusOuter(double radius) {if (radius 0.0f radius 100.0f) {radiusOuter radius;update();} }void GaugePanel::setRadiusHalo(int radius) {setRadiusHalo(double(radius)); }void GaugePanel::setRadiusHalo(double radius) {if (radius 0.0f radius 100.0f) {radiusHalo radius;update();} }void GaugePanel::setColorInnerStart(QColor color) {colorInnerStart color; }void GaugePanel::setColorInnerEnd(QColor color) {colorInnerEnd color; }void GaugePanel::setColorOuterStart(QColor color) {colorOuterStart color; }void GaugePanel::setColorOuterEnd(QColor color) {colorOuterEnd color; }void GaugePanel::setColorHaloStart(QColor color) {colorHaloStart color; }void GaugePanel::setColorHaloEnd(QColor color) {colorHaloEnd color; }void GaugePanel::startShearAnimal(int duration, int hShearValue, int vShearValue) {if (hShearValue this-hShearValue vShearValue this-vShearValue) {return;}if (hShearAnimation-state() ! QPropertyAnimation::Stopped) {hShearAnimation-stop();}if (vShearAnimation-state() ! QPropertyAnimation::Stopped) {vShearAnimation-stop();}hShearAnimation-setDuration(duration);hShearAnimation-setStartValue(this-hShearValue);hShearAnimation-setEndValue(hShearValue);hShearAnimation-start();vShearAnimation-setDuration(duration);vShearAnimation-setStartValue(this-vShearValue);vShearAnimation-setEndValue(vShearValue);vShearAnimation-start(); }void GaugePanel::updateValue(double value) {if (value 30.0 || value 0.0) {return;}this-value value;//update();this-update();// emit valueChanged(value); }3. 运行结果 ​ 三、在线协助 如需安装运行环境或远程调试见文章底部个人 QQ 名片由专业技术人员远程协助 1远程安装运行环境代码调试 2Qt, C, Python入门指导 3界面美化 4软件制作 当前文章连接PythonQt桌面端与网页端人工客服沟通工具_alicema1111的博客-CSDN博客 博主推荐文章python人脸识别统计人数qt窗体-CSDN博客 博主推荐文章Python Yolov5火焰烟雾识别源码分享-CSDN博客 Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客 个人博客主页alicema1111的博客_CSDN博客-Python,C,网页领域博主 博主所有文章点这里alicema1111的博客_CSDN博客-Python,C,网页领域博主
http://www.zqtcl.cn/news/35782/

相关文章:

  • 永康网站建设公司做门窗可以放什么网站
  • 阳泉网站建设哪家便宜手机百度高级搜索入口在哪里
  • wordpress 新建导航网站优化软件
  • 泉州专业制作网站开发慧聪网是干什么的
  • 网站建设 数据上传 查询深圳做网站设计制作开发
  • 深圳网站建设软件开发wordpress导入有道笔记
  • 驻马店标准网站建设wordpress advantage
  • 专做民宿的网站wordpress最好的中文主题
  • 节能网站源码wordpress修改固定连接403
  • 网站建设推广招代理加盟济南百度推广
  • 辽宁网站建设企业定制公司做一个网站难不难
  • 网站建设是什么行业想做电商应该怎么入门
  • 网站运营条件vs2008网站开发
  • zhon中国建设会计学会网站禅城建设网站
  • 重庆网站推广计划上海营销型企业网站
  • 自助建站代理广州地址设计网站
  • 怎样做好网站推广网站为什么百度搜不到了
  • h5技术网站移动应用开发专业怎么样
  • 网站备案都有哪些wordpress文章编辑器可视化
  • 洛阳网站建站阿里云官网首页
  • 番禺网站制作 优帮云网络服务是哪个
  • 浏阳烟花网站建站定位及营销功能深圳制作广告宣传片制作
  • 盘县 网站建设地址一地址二在线发布页
  • 免费平面设计模板网站网站备案后证书
  • 东莞做网站seo上海外贸公司企业名录
  • 网站运营招聘如何制作微信小程序商城
  • 营销网站建立wordpress邮件注册
  • 用哪个网站做相册视频文件夹校园网门户网站建设
  • 好看的网站链接网络营销工具中最基本最重要的是
  • 移动网站开发流行做网站排名多少钱