1

セカンダリ フォームを表示している間、メイン フォーム自体が無効になるようにしたいと思います。を使用this->setEnabled = false;できることはわかっていますが、セカンダリ フォームが閉じられたことをどのように知ることができますか? (メイン フォームを再度有効にするには)。

前もって感謝します。

4

1 に答える 1

1

メインウィジェット

QChildWidget *child = new QChildWidget();
connect(child,SIGNAL(closed()),this,SLOT(childClosed())); //connect child signal to childClosed slot
child->show(); // show child
this->setEnabled(false); // disable main widget

.
.
.
public QMainWidget::childClosed() // implementation of childClosed slot
{
    this->setEnabled(true);
}

child widget

#include <QCloseEvent>
public QChildWidget: public QWidget
{
.
.
.
protected:
      void closeEvent() // it is called when widget is closed
      {
          emit closed();
      }
signals:
        void closed(); // closed signal
};
于 2012-09-21T05:19:54.940 に答える