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();
}
运行效果:
相关推荐
小老鼠不吃猫几秒前
Qt C++稳定职业规划
开发语言·c++·qt
qq_401700412 分钟前
嵌入式C语言设计模式
c语言·开发语言·设计模式
二十画~书生6 分钟前
【2025年全国大学生电子设计大赛-国二】超声信标定位系统 (J 题)
开发语言·javascript·经验分享·ecmascript·硬件工程
童话的守望者9 分钟前
dc9靶场通关
java·开发语言
zh_xuan12 分钟前
kotlin 作用域函数run
开发语言·kotlin
LawrenceLan19 分钟前
31.Flutter 零基础入门(三十一):Stack 与 Positioned —— 悬浮、角标与覆盖布局
开发语言·前端·flutter·dart
未来之窗软件服务20 分钟前
AI人工智能(十五)C# AI的智障行为http服务—东方仙盟练气期
开发语言·http·c#
zh_xuan21 分钟前
kotlin 作用域函数also
开发语言·kotlin
轩情吖25 分钟前
Qt的文件
开发语言·c++·qt·文件·qfileinfo·桌面级开发·qt文件操作
fengtangjiang26 分钟前
nacos服务之间相互调用
android·java·开发语言