#include SliderWidget::SliderWidget(QWidget *parent) : QWidget(parent) { slider = new QSlider(Qt::Horizontal); layout = new QHBoxLayout(); fpsLabel = new QLabel(); timer = new QTimer(this); slider->setMinimum(0); slider->setMaximum(1000); slider->setTickPosition(QSlider::TicksBelow); slider->setTickInterval(1); fpsLabel->setText("fps"); layout->addWidget(slider); layout->addWidget(fpsLabel); setLayout(layout); connect(timer, &QTimer::timeout, this, &SliderWidget::stepSlider); timer->start(10); fpsTime.start(); } void SliderWidget::stepSlider() { if (slider->value() >= slider->maximum()) slider->setValue(0); else slider->setValue(slider->value() + 1); fpsCounter++; if (fpsCounter > 100) { double fps = fpsCounter / double(fpsTime.elapsed()) * 1000; fpsTime.restart(); fpsCounter = 0; fpsLabel->setText(QString("%1 fps").arg(fps)); } }