다른 클래스에서 발생한 이벤트에 대해 알아보기

Tipok

두 가지 클래스가 있습니다.

typedef std::shared_ptr<AdaptedWidget> window_ptr;

class WindowManager
{
public:
...
private:
    std::stack<window_ptr> m_windowsStack;
}

class AdaptedWidget: public QWidget
{
    Q_OBJECT
public:
    AdaptedWidget(AdaptedWidget *parent = 0);
    bool event(QEvent *event);
};

bool AdaptedWidget::event(QEvent *event)
{
    if (event->type() == QEvent::NonClientAreaMouseButtonPress ||
        event->type() == QEvent::MouseButtonPress)
    {
        qDebug() << "mainwindwo press";
    }
    return QWidget::event(event);
}

AdaptedWidgetWindowManager개체 에서 개체에서 발생하는 이벤트에 대한 정보를 가져와야 합니다. 어떻게해야합니까?

마이크

이벤트 필터 는 작업을 수행하는 Qt 방법입니다.

귀하의 확인 WindowManager클래스의 서브 클래스 QObject와의 구현 제공 eventFilter()방법.

그 후에는 인스턴스를 이벤트 필터로 설치 하는 AdaptedWidget용도 installEventFilter()만들 때마다 WindowManager.

class WindowManager : public QObject
{
public:
...
bool eventFilter(QObject* obj, QEvent* ev);

private:
    std::stack<window_ptr> m_windowsStack;
}

bool WindowManager::eventFilter(QObject* obj, QEvent* ev){
    AdaptedWidget* widget= qobject_cast<AdaptedWidget*>(obj);
    if(ev->type == /*type of event you are interested in*/){
        //you can compare widget against the stack of widgets you have

        //if you want to stop widget from receiving the event you can return true
    }
    return false;
}

AdaptedWidget인스턴스를 만들 때 WindowManager이벤트 필터로 설치합니다 .

AdaptedWidget* widget= new AdaptedWidget;
widget->installEventFilter(/*your WindowManager instance*/);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

올바른 이벤트 발생 (SMTPPro 이벤트 대 테스트 이벤트)을 위해 클래스에 대한 아이디어가 Magento에서 인스턴스화되지 않습니까?

분류에서Dev

현재 선택된 버튼이 아닌 동일한 클래스 이름을 가진 모든 버튼에 대해 Jquery 이벤트가 발생합니다.

분류에서Dev

개체 (Cell 클래스)에 대한 사용자 지정 클릭 이벤트는 클릭 할 때마다 마지막 셀에 대해서만 발생합니다.

분류에서Dev

다른 클래스에서 발생한 이벤트에 반응하는 방법?

분류에서Dev

c # 다른 클래스의 이벤트에 대한 매개 변수를 기본 클래스로 전달

분류에서Dev

다른 클래스에서 속성 변경 이벤트 발생

분류에서Dev

다른 이벤트 이후에 발생한 특정 항목에 대한 특정 이벤트 목록

분류에서Dev

동일한 버튼에 대해 서로 다른 기능을 가진 두 개의 개별 클릭 이벤트?

분류에서Dev

서로 다른 MIME 유형 연관에 대해 자세히 알아보기

분류에서Dev

목록의 기본 개체에 대한 InotifyPropertychange 이벤트는 발생하지 않아야합니다.

분류에서Dev

한 클래스에서 다른 클래스로 텍스트보기 변경

분류에서Dev

어떻게 자바 FX에서 다른 클래스에서 이벤트를 처리하기 위해?

분류에서Dev

jqtree에서 노드 선택 및 삭제 아이콘 모두에 대해 다른 이벤트 생성

분류에서Dev

es6 클래스에서 생성자로 사용하기 위해 한 클래스를 다른 클래스에 주입하는 방법

분류에서Dev

diff 변수에 대해 다른 클래스에서 동일한 난수 가져 오기

분류에서Dev

memcpy ()는 다른 클래스 변수에 복사하기 위해 클래스에서 호출 된 후 예외를 발생시킵니다.

분류에서Dev

다른 클래스 선택기에 대해 동일한 기능을 Jquery

분류에서Dev

다른 클래스 객체에서 객체 초기화 (해당 생성자에 대해 몇 가지 작업을 수행 한 후)

분류에서Dev

동일한 클래스의 다른 메서드에 대해 동기화 된 블록 사용

분류에서Dev

각 루프에 대한 클릭 이벤트가 여러 번 발생합니다.

분류에서Dev

동일한 클래스가 아닌 다른 Java 클래스에서 문자열 정보 가져 오기

분류에서Dev

다른 컨트롤 클릭 이벤트에 대한 CSS 클래스 이름 변경

분류에서Dev

다른 클래스에서 발생한 예외를 잡아 내시겠습니까?

분류에서Dev

일반 클래스에서 EJB 확장 시도 : IllegalArgumentException 인수 {0}은 (는) EJB {1}에 대한 유효한 로컬 클라이언트보기가 아닙니다.

분류에서Dev

MainPage.xaml.cs 생성자에서 다른 클래스의 이벤트에 이벤트 처리기를 등록하는 방법

분류에서Dev

Jacoco는 단일 테스트 클래스에 대해서만 커버리지 보고서를 생성합니다

분류에서Dev

여러 다른 이벤트가 발생한 후에 만 http 요청을 수행하기 위해 RxJS 및 Observable을 어떻게 사용합니까?

분류에서Dev

Mac에서 Capslock에 대해 keyDown 이벤트가 발생하지 않습니다.

분류에서Dev

선택기의 각 요소에 대한 이벤트 발생, 한 번만 실행해야 함

Related 관련 기사

  1. 1

    올바른 이벤트 발생 (SMTPPro 이벤트 대 테스트 이벤트)을 위해 클래스에 대한 아이디어가 Magento에서 인스턴스화되지 않습니까?

  2. 2

    현재 선택된 버튼이 아닌 동일한 클래스 이름을 가진 모든 버튼에 대해 Jquery 이벤트가 발생합니다.

  3. 3

    개체 (Cell 클래스)에 대한 사용자 지정 클릭 이벤트는 클릭 할 때마다 마지막 셀에 대해서만 발생합니다.

  4. 4

    다른 클래스에서 발생한 이벤트에 반응하는 방법?

  5. 5

    c # 다른 클래스의 이벤트에 대한 매개 변수를 기본 클래스로 전달

  6. 6

    다른 클래스에서 속성 변경 이벤트 발생

  7. 7

    다른 이벤트 이후에 발생한 특정 항목에 대한 특정 이벤트 목록

  8. 8

    동일한 버튼에 대해 서로 다른 기능을 가진 두 개의 개별 클릭 이벤트?

  9. 9

    서로 다른 MIME 유형 연관에 대해 자세히 알아보기

  10. 10

    목록의 기본 개체에 대한 InotifyPropertychange 이벤트는 발생하지 않아야합니다.

  11. 11

    한 클래스에서 다른 클래스로 텍스트보기 변경

  12. 12

    어떻게 자바 FX에서 다른 클래스에서 이벤트를 처리하기 위해?

  13. 13

    jqtree에서 노드 선택 및 삭제 아이콘 모두에 대해 다른 이벤트 생성

  14. 14

    es6 클래스에서 생성자로 사용하기 위해 한 클래스를 다른 클래스에 주입하는 방법

  15. 15

    diff 변수에 대해 다른 클래스에서 동일한 난수 가져 오기

  16. 16

    memcpy ()는 다른 클래스 변수에 복사하기 위해 클래스에서 호출 된 후 예외를 발생시킵니다.

  17. 17

    다른 클래스 선택기에 대해 동일한 기능을 Jquery

  18. 18

    다른 클래스 객체에서 객체 초기화 (해당 생성자에 대해 몇 가지 작업을 수행 한 후)

  19. 19

    동일한 클래스의 다른 메서드에 대해 동기화 된 블록 사용

  20. 20

    각 루프에 대한 클릭 이벤트가 여러 번 발생합니다.

  21. 21

    동일한 클래스가 아닌 다른 Java 클래스에서 문자열 정보 가져 오기

  22. 22

    다른 컨트롤 클릭 이벤트에 대한 CSS 클래스 이름 변경

  23. 23

    다른 클래스에서 발생한 예외를 잡아 내시겠습니까?

  24. 24

    일반 클래스에서 EJB 확장 시도 : IllegalArgumentException 인수 {0}은 (는) EJB {1}에 대한 유효한 로컬 클라이언트보기가 아닙니다.

  25. 25

    MainPage.xaml.cs 생성자에서 다른 클래스의 이벤트에 이벤트 처리기를 등록하는 방법

  26. 26

    Jacoco는 단일 테스트 클래스에 대해서만 커버리지 보고서를 생성합니다

  27. 27

    여러 다른 이벤트가 발생한 후에 만 http 요청을 수행하기 위해 RxJS 및 Observable을 어떻게 사용합니까?

  28. 28

    Mac에서 Capslock에 대해 keyDown 이벤트가 발생하지 않습니다.

  29. 29

    선택기의 각 요소에 대한 이벤트 발생, 한 번만 실행해야 함

뜨겁다태그

보관