123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include "progressbar.h"
- #include <QPixmap>
- #include <QPainter>
- ProgressBar::ProgressBar(QWidget *parent) : QWidget(parent), _progress(26)
- {
- }
- void ProgressBar::moveEvent(QMoveEvent*) {
- repaint();
- }
- void ProgressBar::resizeEvent(QResizeEvent*) {
- repaint();
- }
- void ProgressBar::paintEvent(QPaintEvent *pe)
- {
- double widWidth = width();
- double widHeight = height();
- QPixmap pixmap_bar;
- pixmap_bar.load(":/buttons/progressbar.png");
- pixmap_bar = pixmap_bar.scaled(widWidth, widHeight, Qt::IgnoreAspectRatio);
- QPixmap pixmap_progress;
- pixmap_progress.load(":/buttons/progressbar_chunk.png");
- pixmap_progress = pixmap_progress.scaled(widWidth, widHeight, Qt::IgnoreAspectRatio);
- 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(double progress) {
- _progress = progress;
- repaint();
- }
- double ProgressBar::getProgress() const {
- return _progress;
- }
|