if(форма открыта){QMessedgeBox::information(this, "Нельзя открыть", "форма уже открыта");}
void Widget::on_pushButton_3_clicked(){ spr *spravka= new spr(this); if(spravka->open())//вся проблема в этой строчке { QMessageBox::information(this, "Cant open","Форма уже открыта"); } else { spravka->show(); }}
bool isOpen = false;
if(isOpen) {...} else {isOpen = true; ...}
void Widget::on_pushButton_3_clicked(){ spr *spravka= new spr; if() { QMessageBox::information(this, "Cant open","Форма уже открыта"); } else { spravka->show(); }}
C++ (Qt)class Widget ...{... QPointer<spr> _spravka;} void Widget::on_pushButton_3_clicked(){ if (_spravka) { QMessageBox::information(this, "Can't open", "Форма уже открыта"); // сделать окно справки активным _spravka->raise(); _spravka->activateWindow(); } else { _spravka = new spr; _spravka->setAttribute(Qt::WA_DeleteOnClose); // либо установку атрибута помести в конструктор справки _spravka->show(); }}