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

wordpress缓存插件汉化破解版怎么做自己网站产品seo

wordpress缓存插件汉化破解版,怎么做自己网站产品seo,怎么在word添加wordpress,河源网站建设【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 图形绘制是上位机软件开发很重要的一个功能。这个图形绘制#xff0c;有的是离线的#xff0c;有的是实时绘制的。就我个人而言#xff0c;离线…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 图形绘制是上位机软件开发很重要的一个功能。这个图形绘制有的是离线的有的是实时绘制的。就我个人而言离线绘制的情况可能更多一些因为可以反复看、反复研究。相信做过控制的同学肯定都学过PID用上位机调整PID参数就是很好的一种方式。今天呢我们正好借助于qt的painter机制来绘制一个简单的正弦图和余弦图以备将来之用。 1、创建qt示例工程 因为今天实现的是图形绘制所以基本上只需要一个空窗口就可以。不需要用designer在上面绘制任何的控件。 2、QtWidgetsApplication.h头文件 图形绘制中不涉及到任何的变量目前只涉及到一个函数那就是paintEvent这个函数。所以在头文件中也只需要添加这么一个函数即可。 #pragma once#include QtWidgets/QMainWindow #include ui_QtWidgetsApplication.hclass QtWidgetsApplication : public QMainWindow {Q_OBJECTpublic:QtWidgetsApplication(QWidget *parent nullptr);~QtWidgetsApplication();private:Ui::QtWidgetsApplicationClass ui;protected:void paintEvent(QPaintEvent *event);}; 3、QtWidgetsApplication.cpp文件 对于窗口或者是widget的重绘在qt上面都是通过paintEvent函数进行的。首先呢一般先创建一个QPainter变量入参就是当前的窗口。接着绘制两条直线分别是x轴和y轴。有了这两条轴之后就可以接着绘制正弦和余弦了。 因为正弦和余弦是非常类似的所以这里仅分析一下正弦的画法。绘制正弦之前需要确定一下采样的点数也就是绘制的精度是多少。当然因为整个窗口是需要画满的这个时候总的宽度和点数相除就产生了步进的长度。 有了步进长度和总点数之后就开始计算每个点的位置。此时又因为绘制y轴的时候窗口的坐标是至上而下的这和实际的坐标有点差别所以需要用height/2 - v_sin*height/2处理下。每次绘制的时候都是绘制的一条短直线很多短的直线连在一起构成了我们需要的正弦弧线。这就是整个绘制的过程。 #include QtWidgets #include QtWidgetsApplication.hQtWidgetsApplication::QtWidgetsApplication(QWidget *parent): QMainWindow(parent) {ui.setupUi(this); }// destructor function QtWidgetsApplication::~QtWidgetsApplication() { }void QtWidgetsApplication::paintEvent(QPaintEvent *event) {Q_UNUSED(event);QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);int width this-width();int height this-height();// draw axispainter.drawLine(0, height / 2, width, height / 2); // Xpainter.drawLine(width / 2, 0, width / 2, height); // Yint samples 100; // sample numberdouble step static_castdouble(width) / samples;// sin curvepainter.setPen(Qt::blue);QPointF lastPoint(0, height / 2 - sin(0) * height / 2);for (int i 1; i samples; i) {double x i * step;double y height / 2 - sin(x / width * 4 * M_PI) * height / 2;painter.drawLine(lastPoint, QPointF(x, y));lastPoint QPointF(x, y);}// cos curvepainter.setPen(Qt::red);lastPoint QPointF(0, height / 2 - cos(0) * height / 2);for (int i 1; i samples; i) {double x i * step;double y height / 2 - cos(x / width * 4 * M_PI) * height / 2;painter.drawLine(lastPoint, QPointF(x, y));lastPoint QPointF(x, y);} } 4、编译和测试 编译和测试就比较简单了如果显示没有问题那就代表是正确的反之就是有问题了。具体是显示的问题还是计算的问题这个就要去单步debug一下才知道了。 5、动态的正弦和余弦 上面测试的正弦和余弦虽然没有问题但是不知道大家有没有想过如何才能让这两组曲线动起来呢。其实方法就在于定时器和曲线的相位首先需要在QtWidgetsApplication.h添加变量即定时器、phase和定时器槽函数 #pragma once#include QtWidgets/QMainWindow #include QTimer #include ui_QtWidgetsApplication.hclass QtWidgetsApplication : public QMainWindow {Q_OBJECTpublic:QtWidgetsApplication(QWidget *parent nullptr);~QtWidgetsApplication();private:Ui::QtWidgetsApplicationClass ui;protected:void paintEvent(QPaintEvent *event);private slots:void updateAnimation();private:QTimer *timer;double phase; }; 做好了这一点QtWidgetsApplication.cpp也做做出修改相关的动作包括初始化定时器、实现定时器回调函数、根据phase重新绘制曲线。这里面需要注意的就是update函数它会触发窗口重新绘制。 #include QtWidgets #include QtWidgetsApplication.hQtWidgetsApplication::QtWidgetsApplication(QWidget *parent): QMainWindow(parent) {ui.setupUi(this);timer new QTimer(this);connect(timer, QTimer::timeout, this, QtWidgetsApplication::updateAnimation);timer-start(50); // timer interval is 50msphase 0.0; }// destructor function QtWidgetsApplication::~QtWidgetsApplication() { }void QtWidgetsApplication::paintEvent(QPaintEvent *event) {Q_UNUSED(event);QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);int width this-width();int height this-height();// draw axispainter.drawLine(0, height / 2, width, height / 2); // Xpainter.drawLine(width / 2, 0, width / 2, height); // Yint samples 100; // sampledouble step static_castdouble(width) / samples;// draw sinpainter.setPen(Qt::blue);QPointF lastPoint(0, height / 2 - sin(phase) * height / 2);for (int i 1; i samples; i) {double x i * step;double y height / 2 - sin(x / width * 4 * M_PI phase) * height / 2;painter.drawLine(lastPoint, QPointF(x, y));lastPoint QPointF(x, y);}// draw cospainter.setPen(Qt::red);lastPoint QPointF(0, height / 2 - cos(phase) * height / 2);for (int i 1; i samples; i) {double x i * step;double y height / 2 - cos(x / width * 4 * M_PI phase) * height / 2;painter.drawLine(lastPoint, QPointF(x, y));lastPoint QPointF(x, y);} }void QtWidgetsApplication::updateAnimation() {phase 0.1; // update phaseupdate(); // trigger painter }
http://www.pierceye.com/news/736528/

相关文章:

  • 免费申请网站 主机 空间网站不稳定
  • 建立个人网站视频教程中国空间站和国际空间站对比
  • 佛山网站seo推广推荐一个专门做海鲜的网站
  • 长春网站建设与健网站外链如何做
  • 网站开发国内现状网站建设与维护教学计划
  • 如何解决网站图片打开慢网站如何做跳转
  • 网站开发作用大学生网络营销策划书
  • 有域名了如何建网站用自己的身份做网站备案
  • 免费的黄冈网站有哪些平台游戏软件上海网站建设自学
  • 网站建设摊销几年wordpress怎样建立二级菜单
  • 营销方案案例北京搜索引擎优化seo专员
  • 网站建设是什么科目wordpress 火车头
  • 做网站需要什么专业方向的员工wordpress yeti
  • 网站建设项目登记表长沙建网站培训机构
  • 拖拽建站平台福州小学网站建设
  • 网站定制套餐建设企业网站需要注意的问题
  • 织梦贷款网站源码网页开发工具
  • 乐清官方网站建筑公司企业号
  • 代做网站的公司有哪些网红营销活动
  • 自己想开个网站怎么弄搜索热词排行榜
  • 智博常州网站建设wordpress缩略图只生成full
  • 化妆品网站模版免费下载网站空间的后台控制面板
  • 做外贸网站公司注册一个免费的网站吗
  • 网站开通申请wordpress图片分享
  • 提高网站性能网站建设中源代码
  • 海珠营销型网站建设公司山东城建建设职业学院教务网站
  • 怎样用虚拟主机建网站温州购物网络商城网站设计制作
  • 站外seo推广游戏模板 wordpress
  • 做翻译网站 知乎怎么制作网站主题
  • 照片书那个网站做的好重庆网站建设价格费用