質問

私のアプリケーションには、同じ親ウィジェットに配置され、それぞれが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);
  }
};
.

その後、すべてのマイグループボックスのCustomRelefied()を1つのスロットに接続でき、Active Group Boxについてトラックを追跡します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top