我的应用程序中有几个分组框,它们放在相同的父窗口小部件上,并且每个分组框都有一个QwtPlot的子实例。用户可以通过鼠标(缩放,平移...)来操作图。

我想跟踪用户当前正在使用哪个分组框(即焦点分组框)。但是,事件是以标准方式处理的,因此,如果用户使用图,则该图将消耗鼠标事件。我想知道,无论用户使用其嵌套窗口小部件执行什么操作,都在使用特定的组框。

有什么建议么?

最佳答案

好的,我找到了解决方案。 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);
  }
};


然后,我可以将所有组框的customReleased()连接到一个插槽,该插槽将处理sender()对象并跟踪活动组框。

关于c++ - QGroupBox单击/焦点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21025152/

10-09 15:32