ДК
13 грудня 2019 р. 13:28

QSplashScreen

Привет. Мне нужно скрыть QSplashScreen при клике по нему. Как можно реализовать это? Сигнал не могу найти, в доке таких нет.
ПС: мой класс сплэша реализован по мотивам
CustomSplashScreen

Вам це подобається? Поділіться в соціальних мережах!

6
Александр Панюшкин
  • 13 грудня 2019 р. 13:37

Добрый день. Это наследник QWidget. Соответственно, close(), например.
https://doc.qt.io/QT-5/qwidget.html#close

    это слот, я хочу скрыть сплэш при клике по нему. Мне нужен сигнал cliked по сплэшу. Чет не сооброжу как это сделать. Есть вот метод
    mousePressEvent
    наверное он мне нужен, но как его правильно использовать? Как получить этот сигнал клика по сплэшу?

      Александр Панюшкин
      • 13 грудня 2019 р. 13:49
      • Відповідь була позначена як рішення.

      Тогда переопределите метод:

      void QWidget::mousePressEvent (QMouseEvent* event)
      

      или

      void QWidget::mouseReleaseEvent (QMouseEvent* event)
      

      И в них выполняйте требуемые действия.

        Александр Панюшкин
        • 13 грудня 2019 р. 13:51

        Только тогда, наверное, стоит и на Esc, например, повесить (если я правильно понимаю задачу). И там переопределять void keyPressEvent(QKeyEvent* event) и фильтровать по Esc.

          вот этого может быть достаточно?

          void CustomSplashScreen::keyPressEvent(QKeyEvent *event)
          {
              if(event->key() == Qt::Key_Escape) { }
          }
          
            Александр Панюшкин
            • 13 грудня 2019 р. 19:39

            Вроде да. Только там начинаются вопросы с тем, чтобы виджет бы в фокусе, чтобы до виджета это событие долетало.

              Коментарі

              Only authorized users can post comments.
              Please, Log in or Sign up