1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| #include <QtCore>
#include <QtDebug>
class MyTest : public QLabel
{
public:
MyTest():QLabel()
{
size=400;
setFixedSize(500,500);
setFocusPolicy(Qt::StrongFocus);
setWindowTitle("Test Zoom HT-2012");
this->grabKeyboard();
}
//#define SOURIS
#ifdef SOURIS //test avec la souris
void wheelEvent(QWheelEvent *event)
{
if(event->delta()>0)
size+=50;
else
size-=50;
setPixmap(basePix.scaled(size, size));
event->ignore();
}
#else //test avec le clavier
void keypressEvent(QKeyEvent *event)
{
switch(event->key()) {
case Qt::Key_Up:
size+=50;
break;
case Qt::Key_Down:
size-=50;
break;
default:
QLabel::keyPressEvent(event);
}
setPixmap(basePix.scaled(size, size));
}
#endif
void setPix(QString newPix)
{
basePix.load(newPix);
setPixmap(basePix.scaled(size, size,Qt::KeepAspectRatio));
}
private:
QPixmap basePix;
int size;
};
int main(int argc, char** argv)
{
QApplication app(argc, argv);
MyTest test;
test.setEnabled(true);
test.show();
test.setPix(QFileDialog::getOpenFileName(&test, ("Open Image File"),QCoreApplication::applicationDirPath(), ("Images (*.png *.xpm *.jpg)")));
return app.exec();
} |
Partager