qt 绘制表盘

复制代码
#include "widget.h"
#include "ui_widget.h"
#include <QPainter>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->horizontalSlider->setMaximum(300);
    ui->horizontalSlider->setMinimum(0);
    connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(hSliderValueChangedSlot(int)));
}

Widget::~Widget()
{
    delete ui;
}



void Widget::paintEvent(QPaintEvent *event)
{
    double R = this->width()/3;
    double r = this->width()/3;
    QPainter p(this);
    p.translate(this->width()/2, this->height()/2);
    p.setBrush(brush);
    p.drawPixmap(-R,-R, 2*R,2*R,QPixmap(":/rs/Pan.png"));
    p.rodate(120);

     p.rotate(   ui->horizontalSlider->value()    );//旋转
     p.drawPixmap(-20,-25,r/1.2,r/6,QPixmap(":/rs/Point.png"));



}
void Widget::hSliderValueChangedSlot(int)
{
    update();// 要求重绘
}

运行结果

相关推荐
JavaEdge.10 小时前
scoped 样式与 data-v-* 属性选择器(写给 Javaer)
开发语言·vue
坐吃山猪10 小时前
JDK 8 到 JDK 21 新特性知识要点
java·开发语言·windows
坐吃山猪10 小时前
【多线程】FutureTask多线程底层实现
java·开发语言·数据库
XR12345678810 小时前
办公组网像“看病“:先问诊,再选型
开发语言·php
布莱克60510 小时前
strcpy 函数详解:作用、用法与安全缺陷
c语言·开发语言·c++·安全
不想看见40410 小时前
一次关于“鼠标是不是串口”的追问:从USB协议到CAN总线
c++·qt·计算机外设
软件黑马王子10 小时前
3.单例模式问题1:构造函数
开发语言·单例模式·c#
Freak嵌入式10 小时前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析
java·大数据·开发语言·单片机·嵌入式硬件·硬件架构
Java小白笔记11 小时前
Java中大数据实时归集与指标汇总方案
java·大数据·开发语言
随遇而安zx11 小时前
【地基篇】---Java 8 JVM 知识大纲
java·开发语言·jvm