Создаю форму с помощью такого кода:
QFile file(fileName + ".ui");
if (file.open(QIODevice::ReadOnly)) {
QUiLoader loader;
loader.addPluginPath("./plugins/");
QWidget* widget = loader.load(&file);
file.close();
if (QString(widget->metaObject()->className()).compare("QDialog") == 0) {
formWidget = (QDialog*)widget;
formWidget->setParent(pwgt);
formWidget->setVisible(false);
formWidget->setWindowFlags(Qt::Window | Qt::Dialog | Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowContextHelpButtonHint);
...
}
...
}
Все объекты на форме оформлены в виде плагинов. Проблема в том, что программа иногда спотыкается по ошибке сегментирования на следующей строчке кода:
grdTable = (TableView*)formWidget->findChild<QTableView*>("tableView"); ,
который ищет объект типа TableView на этой форме. Именно иногда, не всегда.
Что посоветуете сделать в такой ситуации? Может быть что-то в коде загрузки формы подправить? Что можно еще предпринять?