#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QPen>
#include <QBrush>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->horizontalSlider->setValue(0);
ui->horizontalSlider->setMaximum(100);
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()*0.4;
QPainter p(this);
p.translate(this->width()/2,this->height()/2);
p.drawPixmap(-R*1.0001,-R*0.984,2*R,2*R,QPixmap(":/rs/Pan.png"));
p.rotate(ui->horizontalSlider->value()*2.8+130);
p.drawPixmap(-R*0.09,-R*0.079,R*0.73,R*0.154,QPixmap(":/rs/Point.png"));
}
void Widget::hSliderValueChangedSlot(int)
{
qDebug() << __func__;
// 通知,整个窗口重绘
this->update();
}
QT第六天作业
最新推荐文章于 2024-08-04 09:12:32 发布
本文详细介绍了使用C++和Qt库创建一个带有滑块控件的Widget,展示了如何响应滑块值变化并更新窗口显示。着重讲解了`paintEvent`方法和槽函数`hSliderValueChangedSlot`的用法。
摘要由CSDN通过智能技术生成