我有一个类,它的子类QDialog
没有覆盖exec()
,accept()
或者reject()
另一个Dialog
类,它在其内部调用该类mousePaintEvent
:
void Canvas::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton){
if (dialog->isVisible()){
dialog->setModal(true);
dialog->move(QWidget::mapToGlobal(event->pos()));
//I connect the dialog's accepted signal to the CallingClass's slot, that uses the information taken from the dialog
connect(dialog, &Dialog::accepted, this, &CallingClass::slot);
dialog->exec();
}
}
if (dialog->isVisible()){
if (dialog->rect().contains(event->pos())){
dialog->reject();
}
}
}
我尝试使用对话框的存在进行检查,但delete
并没有真正起作用(我将它放在 dialog.reject() 之后),我什至尝试使用 bool,我再次在 dialog.reject() 之后将其设置为 false在最后一个如果,但我开始认为,.reject() 之后没有任何效果。我该如何进行?