2014-01-09 61 views
0

我在我的應用程序中有幾個組框放置在同一個父窗口小部件上,並且每個窗框都提供了QwtPlot的子實例。用戶可以通過鼠標進行繪圖操作(縮放,平移...)。QGroupBox clicked/focus

我想保留一個跟蹤哪個組框是用戶當前正在工作的(這是焦點組框)。然而,事件是以標準方式處理的,所以如果用戶使用繪圖,鼠標事件就會被這個繪圖所消耗。我想知道用戶正在使用特定的組框,無論他使用嵌套的小部件執行什麼操作。

有什麼建議嗎?

回答

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()連接到一個插槽,將處理寄件人()對象,並跟蹤有關活動組框。