Need something like a finished-signal from QWidget

后端 未结 3 804
猫巷女王i
猫巷女王i 2021-02-19 05:25

I\'m searching for something like the finished-signal from QDialog, only for QWidget. The reason is, I disable my toolbar once the widget pops up (whic

3条回答
  •  醉话见心
    2021-02-19 05:46

    In your Widget class, you can add your own signal that others can connect to. Then override the closeEvent() method. Don't worry about overriding this method, this kind of situation is exactly the right reason do to it.

    class MyCustomWidget: public QWidget
    {
       Q_OBJECT
    
        ...
    
        signals:
           void WidgetClosed();
    
       protected:
    
         //===============================================================
         // Summary: Overrides the Widget close event
         //  Allows local processing before the window is allowed to close.
         //===============================================================
         void closeEvent(QCloseEvent *event);
    
        }
    

    In the closeEvent method trigger your signal:

    void MyCustomWidget::closeEvent(QCloseEvent *event)
    {
          emit WidgetClosed();
          event->accept();
    }
    

提交回复
热议问题