我的应用程序中有两个组框,它们放在同一个父部件上,每个小部件都带有一个QwtPlot的子实例。用户可以通过鼠标操作绘图(缩放,摇摄.)。
我想要跟踪用户当前正在工作的组框(这是焦点组框)。但是,事件是以标准方式处理的,因此,如果用户使用绘图,则鼠标事件将被此绘图所消耗。我想知道用户正在使用特定的groupbox,而不管他对其嵌套的小部件执行什么操作。
有什么建议吗?
发布于 2014-01-13 08:01:22
好的,我找到了一个解决办法。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()连接到一个插槽中,这将处理发送方()对象,并跟踪活动组框。
https://stackoverflow.com/questions/21025152
复制相似问题