Я использую Qt 5.0 + mingw для сборки своих приложений, и я хочу использовать модуль «webkitwidgets». Я добавляю в .pro файл
QT += webkitwidgets
Затем в моем коде я создал поток, и я написал этот поток:
QWebPage page;
Когда отладчик попадает в эту строку, моя отладка завершается со следующей ошибкой:
Microsoft Visual C ++ библиотека времени выполнения
Это приложение запросило Runtime прекратить его необычным способом.
Пожалуйста, обратитесь в службу поддержки приложения для получения дополнительной информации. «
Так что я даже не могу объявить переменную типа QWebPage. Почему это происходит и есть ли способ это исправить?
При возникновении сбоев, подобных этому, сначала просмотрите stdout, stderr и канал отладки, затем запустите их в отладчике.
Однако, как вы говорите, что вы создали QWebPage в потоке: это не будет работать. В Qt (и почти во всех других инструментальных наборах пользовательского интерфейса) все классы пользовательского интерфейса должны находиться в главном потоке, то есть в одном QApplication. Переместите объявление в основной поток, и оно должно работать.
Кроме того, создание экземпляра в стеке является правильным решением, если блок не был оставлен до выхода из приложения (обычно это только в случае main ()). В противном случае вы должны создать его в куче.
Других решений пока нет …