문제

동일한 부모 위젯에 배치 된 내 응용 프로그램에는 몇 가지 그룹 상자가 있으며 각 QWTPlot의 자식 인스턴스가 제공됩니다.사용자는 마우스 (줌, 패닝 ...)를 통해 플롯으로 작동 할 수 있습니다.

그룹 상자가 현재 작동하는 사용자 (포커스 그룹 상자)가있는 트랙을 유지하고 싶습니다.그러나 이벤트는 표준 방식으로 처리되므로 사용자가 플롯으로 작동하면 마우스 이벤트 가이 플롯에 의해 소비됩니다.나는 사용자가 중첩 된 위젯으로 수행하는 작업을 상관없이 특정 그룹 상자를 사용하는 것을 알고 싶습니다.

모든 제안?

도움이 되었습니까?

해결책

OK 솔루션을 발견했습니다.QGroupBox는 구현되어야합니다 (예 :

class CustomGroupBox : public QGroupBox {
  Q_OBJECT
public:
  CustomGroupBox(QWidget *parent = 0) : QGroupBox(parent);
  CustomGroupBox(const QString &title, QWidget* parent = 0) : QGroupBox(title, parent);
signals:
  void customReleased();
protected:
  void mouseReleaseEvent(QMouseEvent* event) {
    emit customReleased();
    QGroupBox::mouseReleaseEvent(event);
  }
};
.

다음 내의 모든 그룹 상자의 CustomReleted ()를 Sender () 객체를 처리하고 활성 그룹 상자를 추적 할 수있는 하나의 슬롯에 연결할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top