QWebEnginePage findText всегда false

146
30 декабря 2019, 07:50

Не могу разобраться почему у меня не работает findText в QWebEnginePage, я точно знаю что текст на странице есть, а он пишет false:

QWebEnginePage * page2 = new QWebEnginePage;
QUrl tmpUrl;
tmpUrl.setUrl("https://doc.qt.io/qt-5/qwebenginepage.html#findText");
page2->load(tmpUrl);
connect(
            page2,
            &QWebEnginePage::loadFinished,
            [page2] (bool ok) {
    if (!ok) {
        qDebug() << "Загрузка документа 2 провалилась.";
        delete page2;
        return;
    }
    qDebug() << "Документ 2 загружен, продолжаем.";
    page2->findText(QStringLiteral("findflag"), QWebEnginePage::FindFlags(), [page2](bool found)
    {
        qDebug() << "Поиск в документе 2 : " << found;
    });
    }
);

При выполнении пишет:

12:40:20: Запускается C:\TSVN\build-HTMLToPDF-Desktop_Qt_5_12_1_MSVC2017_64bit2-Debug\debug\HTMLToPDF.exe...
QML debugging is enabled. Only use this in a safe environment.
[2936:10440:0331/124024.259:ERROR:gpu_process_transport_factory.cc(642)] Switching to software compositing.
[2936:10440:0331/124024.259:WARNING:gpu_process_transport_factory.cc(1007)] Lost UI shared context.
[2936:10440:0331/124024.259:ERROR:gpu_process_transport_factory.cc(642)] Switching to software compositing.
[2936:10440:0331/124024.259:WARNING:gpu_process_transport_factory.cc(1007)] Lost UI shared context.
[2936:10244:0331/124024.266:WARNING:gpu_process_host.cc(583)] !GpuDataManagerImpl::GpuProcessStartAllowed()
[2936:10244:0331/124024.266:WARNING:gpu_process_host.cc(583)] !GpuDataManagerImpl::GpuProcessStartAllowed()
[2936:10440:0331/124024.920:INFO:CONSOLE(2)] "JQMIGRATE: Migrate is installed, version 1.4.1", source: https://d33sqmjvzgs8hq.cloudfront.net/wp-includes/js/jquery/jquery-migrate.min.js.gzip (2)
[2936:10440:0331/124024.920:INFO:CONSOLE(2)] "JQMIGRATE: Migrate is installed, version 1.4.1", source: https://d33sqmjvzgs8hq.cloudfront.net/wp-includes/js/jquery/jquery-migrate.min.js.gzip (2)
Документ 2 загружен, продолжаем.
Поиск в документе 2 :  false
[2936:10440:0331/124037.961:FATAL:render_process_host_impl.cc(887)] Check failed: map_.empty(). 

В чем может быть проблема, может сайт коряво загружается? Но это повторяется и с сохраненными html документами, когда я их загружаю как файл или через setHtml().

Answer 1

Сам спросил, сам же и ответ нашел. Слот в котором запускается поиск закрывается быстрее чем успевает отработать поиск, соответственно и page2 уничтожается. Переменную нужно было создавать внутри MainWindow.

READ ALSO
Не проходит 10 тест на acmp (задача 65) [закрыт]

Не проходит 10 тест на acmp (задача 65) [закрыт]

Хотите улучшить этот вопрос? Update the question so it's on-topic for Stack Overflow на русском

151
Задать цвет текста кнопки программно

Задать цвет текста кнопки программно

Написал калькулятор, в котором для обработки нажатий используется интерфейс OnClickListenerВнешний вид калькулятора прописал в xml файле, а в файле...

131
Как сделать &ldquo;Рестарт&rdquo; для кнопок разом?

Как сделать “Рестарт” для кнопок разом?

Разрабатываю игру в качестве обученияВся игра идет через кнопки

155
Кастомный адаптер для спиннера

Кастомный адаптер для спиннера

Сделал кастомный адаптер для спиннераПри раскрытии спиннера метод getDropDownView вызывается непрерывно циклически, даже если список не трогать

111