2017-10-16 21 views
2

나는 장애인 QAction 메뉴 요소가 :비활성화 된 QAction 요소에 대한 트리거 신호는 어떻게 얻을 수 있습니까?

QAction *item = new QAction(itemTitle); 
item->setEnabled(false); 

내가 요소를 누른 후 함수를 호출 할 SLOT 연결을 사용하지만, 그것은 단지 활성화 요소 작동의 :

QObject::connect(item, SIGNAL(triggered()), this, SLOT(func())); 

내 질문이 어떻게 비활성화 된 QAction 요소에 대해 일부 기능을 트리거 할 수 있습니까? Qt는 5.9.2

, MSVC2017 64 비트 컴파일러

답변

1

setEnabled() 속성은 위젯의 사용 여부를 보유하고 있습니다.

일반적으로 활성화 된 위젯은 키보드 및 마우스 이벤트를 처리합니다. a 비활성화 된 위젯은이 아닙니다. QAbstractButton은 예외입니다.

위젯이 비활성화되면 모든 마우스 및 키보드 이벤트도 비활성화됩니다.

자세한 정보 : http://doc.qt.io/qt-4.8/qwidget.html#enabled-prop

+0

이렇게 할 방법이 없습니까? 어떻게 든 QT 스타일 시트를 사용하여 비활성화 된 QAction 요소를 시뮬레이트하지만'setEnabled()'자체로 시뮬레이트하지 않으면 어떻게 될까요? – semanser

+1

CSS 비활성화가 동일합니다. 어쩌면 당신은'backcolor','border','reimplement events'를 좀더 시뮬레이트 할 수 없도록 변경할 수 있습니다. 다른 현명한 것은 불가능합니다. – aghilpro

+0

네, 그게 내가 현재 찾고있는 것입니다 – semanser