Вызов QMessageBox::critical()

407
31 декабря 2016, 15:19

Есть класс, не унаследованный от QWidget. Представляет собой класс реализации доступа к БД. При попытке вызова QMessageBox::critical() выдаёт ошибку, ругается, что я задаю в качестве родителя объект класса, не наследника QWidget. Как мне тогда вызвать окно с текстом ошибки?

QList<Group> result;
QSqlDatabase db = QSqlDatabase::database("connection");
QSqlQuery query(db);
if(!query.exec("SELECT * FROM `prod_group`")) QMessageBox::critical(this, tr("Ошибка"), query.lastError().text());
Answer 1

Попробуйте так:

QMessageBox::critical(0, tr("Ошибка"), query.lastError().text());
READ ALSO
Зачем нужен const в сигнатуре функции?

Зачем нужен const в сигнатуре функции?

Например, у меня есть следующий код

550
Ошибка с памятью [требует правки]

Ошибка с памятью [требует правки]

Здравствуйте! Не могу найти ошибку в программе, на моем компьютере все нормально работает, на сервере - нетПоможете?

351