Программы на C++. Форум разработчиков
Гость
KeyPressEvent не работает
Сообщение
Гость » 04 фев 2025, 12:24
У меня есть проблема с KeyPressEvent , мне нужно переместить игрока QGraphicSitem в моей сцене, но программа не использует функцию keyPressEvent of -game < /p>
file "game.h": < /p>
Код: Выделить всё
#ifndef GAME_H
#define GAME_H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Ui {
class game;
}
class game : public QWidget
{
Q_OBJECT
public:
explicit game(QWidget *parent = 0);
~game();
virtual void keyPressEvent(QKeyEvent *);
}
< /code>
и источник CPP < /p>
void game::keyPressEvent(QKeyEvent *e){
switch(e->key())
{
case Qt::Key_Left :{
this->player->moveBy(-5,0);
break;
}
case Qt::Key_Right :{
this->player->moveBy(5,0);
break;
}
}
this->player->update();
}
< /code>
и в Mainwindow.cpp I нажимает кнопку воспроизведения, которая выполняет этот код: < /p>
void MainWindow::on_Play_clicked()
{
game *Gioco=new game;
Gioco->show();
Gioco->move(300,0);
}
Почему Keypressevent запускается?
Подробнее здесь:
https://stackoverflow.com/questions/266 ... -dont-work
1738661076
Гость
У меня есть проблема с KeyPressEvent , мне нужно переместить игрока QGraphicSitem в моей сцене, но программа не использует функцию keyPressEvent of -game < /p> file "game.h": < /p> [code]#ifndef GAME_H #define GAME_H #include #include #include #include #include #include #include #include #include #include #include #include namespace Ui { class game; } class game : public QWidget { Q_OBJECT public: explicit game(QWidget *parent = 0); ~game(); virtual void keyPressEvent(QKeyEvent *); } < /code> и источник CPP < /p> void game::keyPressEvent(QKeyEvent *e){ switch(e->key()) { case Qt::Key_Left :{ this->player->moveBy(-5,0); break; } case Qt::Key_Right :{ this->player->moveBy(5,0); break; } } this->player->update(); } < /code> и в Mainwindow.cpp I нажимает кнопку воспроизведения, которая выполняет этот код: < /p> void MainWindow::on_Play_clicked() { game *Gioco=new game; Gioco->show(); Gioco->move(300,0); } [/code] Почему Keypressevent запускается? Подробнее здесь: [url]https://stackoverflow.com/questions/26634400/the-keypressevent-dont-work[/url]