wfview/scrolltest.cpp

57 wiersze
1.4 KiB
C++

#include "scrolltest.h"
scrolltest::scrolltest(QWidget *parent)
: QWidget{parent}
{
}
void scrolltest::paintEvent(QPaintEvent *)
{
QPainter painter(this);
widgetWindowHeight = this->height();
fontSize = 12;
painter.setRenderHint(QPainter::SmoothPixmapTransform);
//painter.setFont(QFont(this->fontInfo().family(), fontSize));
painter.setWindow(QRect(0, 0, this->width(), widgetWindowHeight));
//painter.setPen(Qt::red);
painter.drawText(0,widgetWindowHeight, resultText );
}
void scrolltest::wheelEvent(QWheelEvent *we)
{
int clicksX = abs(we->angleDelta().x());
int clicksY = abs(we->angleDelta().y());
if(clicksX > maxX)
maxX = clicksX;
if(clicksY > maxY)
maxY = clicksY;
if( (clicksX !=0) && (clicksX < minX))
minX = clicksX;
if( (clicksY !=0) && (clicksY < minY))
minY = clicksY;
resultText = QString("X: %1, Y: %2, maxX: %3, maxY: %4")
.arg(clicksX).arg(clicksY).arg(maxX).arg(maxY);
if(minX != 999999)
resultText.append(QString(", minX: %1").arg(minX));
if(minY != 999999)
resultText.append(QString(", minY: %1").arg(minY));
//QFontMetrics fm(this->font());
//int neededWidth = fm.horizontalAdvance(resultText);
//this->resize(this->height(), neededWidth);
emit haveRawClicksXY(clicksX, clicksY);
update();
}