QGroupBox点击/焦点

时间:2014-01-09 16:02:37

标签: c++ qt qt5 qgroupbox

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

我想保留用户当前正在使用哪个组框的轨道(这是焦点组框)。但是,事件以标准方式处理,因此如果用户使用绘图,则此绘图将使用鼠标事件。我想知道用户正在使用特定的组框,无论他使用嵌套小部件执行什么操作。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案。必须重新实现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()对象并跟踪活动组框。