QT第二周周三

题目:使用图片绘制出仪表盘
代码:
widget.h
#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
#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();
}
运行效果:

相关推荐

  1. 第二的鲜花

    2024-01-18 06:52:04       48 阅读
  2. 单词记忆(第二

    2024-01-18 06:52:04       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-18 06:52:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-18 06:52:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-18 06:52:04       82 阅读
  4. Python语言-面向对象

    2024-01-18 06:52:04       91 阅读

热门阅读

  1. 基于博弈树的开源五子棋AI教程[7 多线程搜索]

    2024-01-18 06:52:04       41 阅读
  2. npm换源

    npm换源

    2024-01-18 06:52:04      51 阅读
  3. 【Spring Boot 3】【Redis】集成Jedis

    2024-01-18 06:52:04       44 阅读
  4. npm-yarn

    2024-01-18 06:52:04       55 阅读
  5. 国内环境 GitHub 拉取仓库速度慢的缓解方案

    2024-01-18 06:52:04       59 阅读
  6. 【高危】Apache Solr 环境变量信息泄漏漏洞

    2024-01-18 06:52:04       48 阅读