Я искал два дня, но не нашел никакой помощи по моей проблеме, чтобы закрыть немодальное диалоговое окно из QPushButton внутри этого диалога.
Диалог вызывается из QMainWindow, все работает, но я не могу закрыть диалог по кнопке, работает только крестик, я не понимаю, почему это так сложно, так как это не модально, я не жду операторов "accept" или "reject", close "or" done "более приспособлены.
Вот мой код для вызова диалога:
void MainWindow::showSystraySettingsDialog()
{
sDialog = new SystrayDialog(this);
//sDialog.show();
sDialog->setModal(false);
sDialog->setAttribute(Qt::WA_DeleteOnClose);
sDialog->show();
sDialog->raise();
sDialog->activateWindow();
}
член" sDialog "является указателем, объявленным в" MainWindow.h "
Вот действие, вызываемое для закрытия диалогового окна в моем диалоговом коде: SystrayDialog. cpp:
void SystrayDialog::createActions()
{
closeAction = new QAction(tr("&Close"),this);
connect(closeAction, &QAction::triggered,this, &SystrayDialog::close);
}
Кнопка закрытия:
closeButton = new QPushButton;
closeButton->setText(QString(tr("&Close")));
closeButton->addAction(closeAction);
Я не здесь нужно понимать необходимость сигналов, я не жду каких-либо условий для закрытия окна, этот диалог не будет передавать никакие аргументы или значения в окно ...
Заранее спасибо за вашу помощь!