Qt Webkit - автозаполнение ввода - PullRequest
2 голосов
/ 24 декабря 2009

Привет, может кто-нибудь помочь мне найти документацию (я не уверен, что искать), чтобы можно было с помощью Qt Webkit изменить текст внутри Input TextBox на веб-странице - я хотел бы, в основном, сделать функцию, чтобы люди могли запомнить их ввод на веб-странице и сохранить в качестве предустановки .. после нажатия на предустановку - автоматическое заполнение.

1 Ответ

5 голосов
/ 25 декабря 2009

Полагаю, вы можете использовать объект QWebFrame, чтобы получить доступ к коллекции веб-элементов вашей страницы после ее загрузки; QWebFrame доступен для вас через метод page () QWebView. Пожалуйста, смотрите пример ниже для деталей; загружает веб-страницу Google и вставляет значение в текстовое поле поиска:

...
// connect the load finished signal of the webview
QWebView::connect(ui->webView, SIGNAL(loadFinished(bool)), this, SLOT(on_pageLoad_finished(bool)));
// load a webpage
QUrl url("http://www.google.com/");
ui->webView->load(url);
... 

on_pageLoad_finished реализация сигнала:

void MainWindow::on_pageLoad_finished(bool ok)
{
    if (ok)
    {
        QWebFrame* frame = ui->webView->page()->currentFrame();
        if (frame!=NULL)
        {
            // get collection of the input web elements with name set to "q"
            // this function was introduced in Qt 4.6.
            QWebElementCollection collection = frame->findAllElements("input[name=q]");
            foreach (QWebElement element, collection)
                element.setAttribute("value", "qt webkit autocomplete an input");
        }
    }
}

надеюсь, это поможет, с уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...