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

网站整体优化wordpress影视模版

网站整体优化,wordpress影视模版,哪个网站可以做公众号封面,wordpress 去掉头部栏目目的 使用Qt的绘制事件绘制一个仪表盘 思路 需要创建一个带绘制事件的控件重写绘制事件显示 实现 以下是实现代码#xff0c;可复制到程序到#xff0c;直接运行。 .h // GaugeWidget.h #ifndef GAUGEWIDGET_H #define GAUGEWIDGET_H#include QWidgetclass Ga…目的 使用Qt的绘制事件绘制一个仪表盘 思路 需要创建一个带绘制事件的控件重写绘制事件显示 实现 以下是实现代码可复制到程序到直接运行。 .h // GaugeWidget.h #ifndef GAUGEWIDGET_H #define GAUGEWIDGET_H#include QWidgetclass GaugeWidget : public QWidget {Q_OBJECT public:explicit GaugeWidget(QWidget *parent nullptr);void setValue(qreal value){m_value value;}protected:void paintEvent(QPaintEvent *event) override;private:qreal m_value; };#endif // GAUGEWIDGET_H .h分析 继承QWidget类重新实现void paintEvent(QPaintEvent *event) override;事件设置仪表盘当前的数据void setValue(qreal value){m_value value;} .cpp // GaugeWidget.cpp #include GaugeWidget.h #include QPainter#include QDebug GaugeWidget::GaugeWidget(QWidget *parent) : QWidget(parent), m_value(0) {}void GaugeWidget::paintEvent(QPaintEvent *event) {Q_UNUSED(event);QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);qDebug().noquote() [ __FILE__ __LINE__ ] this-size();// 绘制表盘painter.save();painter.translate(width()/2, height()/2);painter.setPen(Qt::NoPen);painter.setBrush(QBrush(QColor(255, 255, 255)));painter.drawEllipse(-100, -100, 200, 200);painter.setBrush(QBrush(QColor(200, 200, 200)));painter.drawEllipse(-95, -95, 190, 190);static const int majorTickCount 12;static const int minorTickCount 5;QFont font;font.setPointSize(8);painter.setFont(font);painter.save();for (int i 0; i majorTickCount; i) {qreal angle i * 360.0 / majorTickCount;painter.rotate(angle);// 绘制刻度线if (i majorTickCount) {painter.setPen(QPen(QColor(255, 255, 255), 2));painter.drawLine(0, -85, 0, -95);}// 绘制刻度值if (i % 2 0) {painter.setPen(QPen(QColor(255, 0, 0)));qreal value i * 360.0 / majorTickCount;QString text QString::number(value, f, 0);QRectF textRect(-50, -100, 100, 100);painter.drawText(textRect, Qt::AlignTop|Qt::AlignHCenter, text);}painter.rotate(-angle);}for (int i 0; i majorTickCount; i) {for (int j 1; j minorTickCount; j) {qreal angle (i j / (qreal)minorTickCount) * 360.0 / majorTickCount;painter.save();painter.rotate(angle);painter.setPen(QPen(QColor(255, 255, 255), 1));painter.drawLine(0, -90, 0, -95);painter.restore();}}painter.restore();// 绘制指针qreal angle (m_value / 60.00.5) * 360;painter.rotate(angle);painter.setPen(QPen(QColor(255, 0, 0), 3));painter.drawLine(0, 0, 0, 60);painter.restore(); }.cpp分析 paintEvent函数是继承自QWidget的paintEvent事件处理函数用于绘制小部件的界面。paintEvent函数首先创建一个QPainter对象然后设置抗锯齿渲染。其余部分主要是绘制仪表盘和指针。具体绘制过程如下 绘制表盘 将绘图原点平移到小部件的中心。 绘制外圆和内圆用QBrush用来填充圆形。 根据majorTickCount12的值循环绘制刻度线和刻度值。每次循环需要计算出角度然后将绘图原点旋转该角度。 如果当前是大刻度线则用QPen绘制白色线条。 如果当前是大刻度线的偶数则用QPen绘制红色刻度值绘制完成后将绘图原点旋转回来。 根据majorTickCount12和minorTickCount5的值循环绘制小刻度线。每次循环需要计算出角度然后将绘图原点旋转该角度绘制小刻度线然后将绘图原点旋转回来。 绘制指针 根据m_value的值计算出指针应该指向的角度并将绘图原点旋转该角度。用QPen绘制红色的指针线。将绘图原点旋转回来。 在MainWindow中使用自定义控件类GaugeWidget测试表盘绘制效果 #include mainwindow.h #include ui_mainwindow.h #include GaugeWidget.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);GaugeWidget *gaugeWidget new GaugeWidget;setCentralWidget(gaugeWidget);gaugeWidget-setValue(40); }MainWindow::~MainWindow() {delete ui; } 编译运行程序效果如下 结论 繁华到极致腐朽到荒凉。
http://www.zqtcl.cn/news/911107/

相关文章:

  • 想做一个个人网站怎么做网站组成部分
  • 旅游门户网站模板下载全国最新产品代理商
  • 老河口网站设计中企动力科技做什么的
  • 如何建立网站管理系统甘孜州住房和城乡规划建设局网站
  • 阿里网站建设新闻门户网站什么意思
  • 桂林微信网站wordpress 连接信息
  • 电商网站开发简历跨境电商怎么搞
  • php小型网站开发百度知道小程序
  • 风铃网站具体是做那方面的contact form7 v2.1.2 wordpress
  • 临沂网站建设举措网站数据不变重新安装wordpress
  • 外贸网站建设双语网站建设红色大气网络公司企业网站源码_适合广告设计
  • 温州哪里有做网站的阳朔到桂林机场
  • 商务网站建设详细流程小程序商城服务好的商家
  • 苏州建站模板搭建南京地铁最新消息
  • wordpress建网站教程威海建设招聘信息网站
  • 如何制作一网站企业中标信息查询网
  • 百度推广咨询seo搜索引擎优化平台
  • 建设网站要不要投资钱哪里建设网站最好
  • 长沙网站制作公司地址农业推广作业
  • 网站创意设计公司定制网站开发价格
  • 专业网站建设加盟合作怀化seo快速排名
  • 房山区网站建设wordpress自动采集翻译插件怎么用
  • 郴州做网站 郴网互联网站制作公司起名
  • 织梦做的的网站首页显示空白查企业营业执照的网站
  • 葫芦岛公司做网站外贸西班牙语网站建设
  • 广西住房和城乡建设厅培训中心网站首页wordpress建导航
  • 企业建立网站需要提供什么建立网站需要多长钱
  • 科技企业网站源码下载网页设计公司哪家效果好
  • 成都龙泉工程建设有限公司网站网络科技有限公司网站建设策划书
  • 温州网站建设对比赣州招聘网最新招聘