Код:
main.cpp
progressbar.cpp
progressbar.h
slider.pro
#include "progressbar.h"
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
ProgressBar *m_slider = new ProgressBar (Qt::Horizontal);
m_slider->show();
return app.exec();
}
progressbar.cpp
#include "progressbar.h"
ProgressBar::ProgressBar(Qt::Orientation orientation, QWidget *parent) :
QSlider(parent)
{
setOrientation(orientation);
}
void ProgressBar::mouseReleaseEvent (QMouseEvent* event)
{
if (event->button() == Qt::LeftButton)
{
event->ignore();
double k = ((double)event->x())/((double)width());
int a = k*(maximum());
setValue(a);
}
}
progressbar.h
#ifndef PROGRESSBAR_H
#define PROGRESSBAR_H
class QMouseEvent;
class ProgressBar : public QSlider
{
Q_OBJECT
public:
explicit ProgressBar(Qt::Orientation, QWidget *parent = 0);
signals:
void pbValueChanged(int);
protected:
void mouseReleaseEvent ( QMouseEvent* event );
};
#endif // PROGRESSBAR_H
slider.pro
SOURCES += \
main.cpp \
progressbar.cpp
HEADERS += \
progressbar.h
при клике по слайдеру он потихоньку доходит до конца. Это что бага Куте, или я чего-то не понимаю?