QT第二周周三

题目:使用图片绘制出仪表盘
代码:
widget.h
cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    void paintEvent(QPaintEvent* event) override;
    ~Widget();
public slots:
    void horizontalSliderValueChangedSlot();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
cpp 复制代码
#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(100);
    ui->horizontalSlider->setMinimum(0);
    connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(horizontalSliderValueChangedSlot()));
}

void Widget::paintEvent(QPaintEvent *event)
{
    int size = 250;
    QPainter p(this);
    p.translate(this->width()/2,this->height()/2);
    p.drawPixmap(-size,-size,2*size,2*size,QPixmap(":/n/rs/Pan.png"));


    p.rotate(130+2.8*ui->horizontalSlider->value());
    p.drawPixmap(-27,-20,200,40,QPixmap(":/n/rs/Point.png"));
}



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



void Widget::horizontalSliderValueChangedSlot()
{
    update();
}
运行效果:
相关推荐
辞旧 lekkk4 分钟前
【c++】c++11(上)
开发语言·c++·学习·萌新
程序员阿鹏5 分钟前
SpringBoot自动装配原理
java·开发语言·spring boot·后端·spring·tomcat·maven
彭世瑜8 分钟前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
RAY_01049 分钟前
Python—数据可视化pyecharts
开发语言·python
徐同保10 分钟前
n8n+GPT-4o一次解析多张图片
开发语言·前端·javascript
春日见13 分钟前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
技术净胜18 分钟前
MATLAB数据清洗流程包含:缺失值处理/异常值检测/重复值删除
开发语言·matlab
SmoothSailingT19 分钟前
C#——textBox控件(1)
开发语言·c#
深蓝海拓29 分钟前
PySide6从0开始学习的笔记(十一) QSS 属性选择器
笔记·python·qt·学习·pyqt
悦悦子a啊31 分钟前
使用 Java 集合类中的 LinkedList 模拟栈以此判断字符串是否是回文
java·开发语言