QGroupBox 单击/聚焦

Posted

技术标签:

【中文标题】QGroupBox 单击/聚焦【英文标题】:QGroupBox clicked/focus 【发布时间】:2014-01-09 16:02:37 【问题描述】:

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

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

有什么建议吗?

【问题讨论】:

【参考方案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() 对象并跟踪活动的分组框。

【讨论】:

以上是关于QGroupBox 单击/聚焦的主要内容,如果未能解决你的问题,请参考以下文章

您可以隐藏 QGroupBox 框架但保留其内容可见吗?

使用样式表设置 QGroupBox 标题字体大小

Qt中去掉QGroupBox的边框

如何在 PyQt5 中自定义 QGroupBox 标题?

QGroupBox 找到选中的单选按钮

7.1 QGroupBox组合框