QMainWindow
QWidget サブクラスをインスタンス化する があります。サブクラスにリモート データを入力したいので、QWidget::show()
スロットを防止し、それを無視してリクエストを行い、実際にサブクラス ウィジェットを表示します。
再実装showEvent(QShowEvent *)
して、イベントを無視するようにしqDebug()
ました。これは、機能して無視されていることを示していますが、ウィジェットはまだ表示されています。
私は何を取りこぼしたか ?ご協力ありがとうございました。
サブクラス:
void Groups_Materials::showEvent(QShowEvent *event)
{
event->ignore();
qDebug() << "Event accepted: " << event->isAccepted(); // Return: false
}
呼び方:
this->m_groupsMaterialsWidget = new Groups_Materials(this->m_parent);
this->m_groupsMaterialsWidget->setWindowModality(Qt::ApplicationModal);
this->m_groupsMaterialsWidget->setAttribute(Qt::WA_DeleteOnClose);
this->m_groupsMaterialsWidget->show();
これらのメソッドを呼び出したときにコンソールに表示される内容:
Event accepted: false