My mainwidget.cpp (very shortened)
#include "mainwidget.h"
MainWidget
::MainWidget(QWidget *parent
){
this->setFocus(); // ???
scene.setSceneRect(0, 0, 470, 500);
mouse = new Mouse;
mouse->neuePositionSetzen(50, 400);
scene.addItem(mouse);
scene.setFocusItem(mouse); // ???
view.
setRenderHint(QPainter::Antialiasing);
view.resize(480, 600);
view.show();
QObject::connect(&timer,
SIGNAL(timeout
()),
&scene,
SLOT(advance
()));
timer.start(35);
}
void MainWidget
::keyPressEvent( QKeyEvent *event
) {
qDebug() << this->focusWidget()->accessibleName();
qDebug() << "Taste gedrückt!";
switch(event->key())
{
case Qt::Key_Right:
mouse->VerschiebeUm(2, 0);
qDebug() << "Rechts";
break;
case Qt::Key_Left:
mouse->VerschiebeUm(-2, 0);
qDebug() << "Left";
break;
}
}
#include "mainwidget.h"
MainWidget::MainWidget(QWidget *parent)
: QWidget(parent)
{
this->setFocus(); // ???
QGraphicsScene scene;
scene.setSceneRect(0, 0, 470, 500);
scene.setItemIndexMethod(QGraphicsScene::NoIndex);
mouse = new Mouse;
mouse->neuePositionSetzen(50, 400);
scene.addItem(mouse);
scene.setFocusItem(mouse); // ???
QGraphicsView view(&scene);
view.setRenderHint(QPainter::Antialiasing);
view.resize(480, 600);
view.show();
QTimer timer;
QObject::connect(&timer, SIGNAL(timeout()), &scene, SLOT(advance()));
timer.start(35);
}
void MainWidget::keyPressEvent( QKeyEvent *event )
{
qDebug() << this->focusWidget()->accessibleName();
qDebug() << "Taste gedrückt!";
switch(event->key())
{
case Qt::Key_Right:
mouse->VerschiebeUm(2, 0);
qDebug() << "Rechts";
break;
case Qt::Key_Left:
mouse->VerschiebeUm(-2, 0);
qDebug() << "Left";
break;
}
}
To copy to clipboard, switch view to plain text mode
and my mainwidget.h:
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
#include <QWidget>
#include "mouse.h"
{
public:
private:
Mouse *mouse;
protected:
virtual void keyPressEvent
( QKeyEvent *event
);
};
#endif // MAINWIDGET_H
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
#include <QWidget>
#include "mouse.h"
class MainWidget : public QWidget
{
public:
MainWidget(QWidget *parent = 0);
private:
Mouse *mouse;
protected:
virtual void keyPressEvent ( QKeyEvent *event );
};
#endif // MAINWIDGET_H
To copy to clipboard, switch view to plain text mode
and my main.cpp:
#include "mainwidget.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char **argv)
{
MainWidget mainwidget;
mainwidget.setGeometry(100,100,500,355);
mainwidget.resize(480, 700);
mainwidget.setFocus(); // ????
qDebug() << app.focusWidget();
mainwidget.show();
return app.exec();
}
#include "mainwidget.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
MainWidget mainwidget;
mainwidget.setGeometry(100,100,500,355);
mainwidget.resize(480, 700);
mainwidget.setFocus(); // ????
qDebug() << app.focusWidget();
mainwidget.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
and there is also a mouse-class and a platform-class, but I think, they are not so important.
So, when i press a key, nothing happens. Why?
Bookmarks