Сбой в QWebView

Мое приложение содержит класс, который наследует QWebView. Проблема в том, что я получаю сбой каждый раз, когда пытаюсь что-то напечатать в этом представлении! Вот мой код:

void QViewSupport::setupSupport(QWidget * widget)
{
    QUrl startURL = QUrl("http://www.google.fr");

    load(startURL);
}

Так что в основном всякий раз, когда я пытаюсь что-то набрать в строке поиска Google, она падает на первом символе... Вот результат:

ASSERTION FAILED: ICU could not open a break iterator:    
U_MISSING_RESOURCE_ERROR (2)
U_SUCCESS(openStatus)
c:\work\build\qt5_workdir\w\s\qtwebkit\source\webcore\platform\text\TextBreakIteratorICU.cpp(45) : WebCore::setUpIterator
1   02426EF7
2   018F0F40
3   018F0CA0
4   018F0E1A
5   0207D7D3
6   0207CE91
7   014F1470
8   01CDBBF5
9   013EEEAC
10  013A45BE
11  01392CA7
12  013A4076
13  0134C062
14  0136166A
15  0144F19A
16  014562E3
17  014205E5
18  0141D9A6
19  017DCE6C
20  0134C82C
21  014EA80F
22  014F1525
23  013EEEAC
24  013A45BE
25  01392CA7
26  013A4076
27  0134C062
28  0136166A
29  017DCE25
30  014202C3
31  0100D627
First chance exception at 0x02426ef7 (Qt5WebKitd.dll) in myApp.exe : 0xC0000005: Access violation writing location 0xbbadbeef.
Unhandled exception à 0x02426ef7 (Qt5WebKitd.dll) in myApp.exe : 0xC0000005: Access violation writing location 0xbbadbe

Я что-то упускаю? Я искал в Интернете и не мог найти что-то близкое к этой проблеме. Заранее спасибо, если у вас есть решение!

Редактировать: Как и просили, вот класс:

class QViewSupport : public QWebView
{
    Q_OBJECT

public:

    QViewSupport(QWidget *parent);
    ~QViewSupport();

private:
    void setupSupport(QWidget *Form);

}; 

И в файле .cpp:

#include "qviewsupport.h"

QViewSupport::QViewSupport(QWidget *parent)
    : QWebView(parent)
{
     setupSupport(this);
}

void QViewSupport::setupSupport(QWidget * widget)
{
    QUrl startURL = QUrl("http://www.google.fr");

    load(startURL);
}

QViewSupport::~QViewSupport()
{

}

Редактировать: вызов этой функции выполняется в Setup.cpp (см. ниже), а pViewSupport — это частный член, определяемый в классе Setup: QViewSupport* pViewSupport;.

Setup::Setup(QWidget *parent)
: QDialog(parent)
{
    setupUi(this);
}

void Setup::setupUi(QWidget * widget)
{
    // plenty of other things

    pViewSupport = new QViewSupport(this);

    // same
}

person IAmInPLS    schedule 03.02.2016    source источник
comment
Что-то может быть не так с вашим классом, который наследуется от QWebView. Опубликуйте свою реализацию производного класса, чтобы мы могли проверить, что пошло не так.   -  person Nithish    schedule 03.02.2016
comment
Я изменил его по вашей просьбе   -  person IAmInPLS    schedule 03.02.2016
comment
Какова цель указателя QWidget, который вы передаете методу setupSupport? Я не вижу, чтобы ты его использовал.   -  person Nithish    schedule 03.02.2016
comment
Я изначально назвал его так: widget->setWindowTitle(...) но так как это не имеет значения, я удалил его оттуда. Я пробовал с этим QWidget и без него, тот же результат.   -  person IAmInPLS    schedule 03.02.2016
comment
Не могли бы вы опубликовать свою основную или функцию, в которой вы создаете свой объект веб-просмотра?   -  person Nithish    schedule 03.02.2016
comment
@nnb Я сделал это, но я не думаю, что это уместно здесь   -  person IAmInPLS    schedule 03.02.2016


Ответы (1)


Хорошо, проблема возникла из-за dll ICU от Qt, я просто заменил их, и все заработало.

person IAmInPLS    schedule 10.02.2016