#include "progressbar.h" #include #include ProgressBar::ProgressBar(QWidget *parent) : QWidget(parent), _progress(26) { } void ProgressBar::moveEvent(QMoveEvent*) { repaint(); } void ProgressBar::resizeEvent(QResizeEvent*) { repaint(); } void ProgressBar::paintEvent(QPaintEvent *pe) { int widWidth = width(); int widHeight = height(); QPixmap pixmap_bar; pixmap_bar.load(":/buttons/progressbar.png"); pixmap_bar = pixmap_bar.scaled(widWidth, widHeight, Qt::KeepAspectRatioByExpanding); QPixmap pixmap_progress; pixmap_progress.load(":/buttons/progressbar_chunk.png"); pixmap_progress = pixmap_progress.scaled(widWidth, widHeight, Qt::KeepAspectRatioByExpanding); QPainter paint(this); QRectF progress_position = QRectF(0, 0, widWidth * _progress / 100, widHeight); paint.drawPixmap(0, 0, widWidth, widHeight, pixmap_bar); paint.drawPixmap(progress_position, pixmap_progress, progress_position); QWidget::paintEvent(pe); } void ProgressBar::setProgress(int progress) { _progress= progress; } int ProgressBar::getProgress() const { return _progress; }