【发布时间】:2020-02-05 10:16:24
【问题描述】:
我现在搜索了两天,但我没有找到任何关于我的问题的帮助,即从该对话框中的 QPushButton 关闭非模态对话框。
对话框由 QMainWindow 调用,一切正常,但我无法通过按钮关闭对话框,只有十字标记在工作,我不明白为什么它如此棘手,因为它不是模态的,我不明白t 等待“接受”或“拒绝”语句,“关闭”或“完成”更合适。
这是我调用对话框的代码:
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);
我不明白这里的信号需求,我不是在等待任何条件关闭窗口,这个对话框不会将任何参数或值传递给 maindow...
提前感谢您的帮助!
【问题讨论】: