1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #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)
- {
- 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;
- }
|