V
Жел. 8, 2020, 10:19 Т.Қ.

Передвижение объекта в игре Qt C++

Qt уроки

На сайте взял код из уроков, но не могу понять, как под линукс изменить проверку нажатия клавиш.
Вот то как это выглядит под виндовс:


Помогите, ибо ничего найти не могу подобного.

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

1
R
  • Жел. 8, 2020, 11:33 Т.Қ.

це працює і на вінді і на лінуксі і на маку eventFilter в документації

з оф документації

  1. class MainWindow : public QMainWindow
  2. {
  3. public:
  4. MainWindow();
  5.  
  6. protected:
  7. bool eventFilter(QObject *obj, QEvent *ev) override;
  8.  
  9. private:
  10. QTextEdit *textEdit;
  11. };
  12.  
  13. MainWindow::MainWindow()
  14. {
  15. textEdit = new QTextEdit;
  16. setCentralWidget(textEdit);
  17.  
  18. textEdit->installEventFilter(this);
  19. }
  20.  
  21. bool MainWindow::eventFilter(QObject *obj, QEvent *event)
  22. {
  23. if (obj == textEdit) {
  24. if (event->type() == QEvent::KeyPress) {
  25. QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
  26. qDebug() << "Ate key press" << keyEvent->key();
  27. return true;
  28. } else {
  29. return false;
  30. }
  31. } else {
  32. // pass the event on to the parent class
  33. return QMainWindow::eventFilter(obj, event);
  34. }
  35. }

    Пікірлер

    Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
    Кіріңіз немесе Тіркеліңіз