2009-12-24 3 views
2

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

ответ

5

Я считаю, вы можете использовать объект 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"); 
     } 
    } 
} 

надеюсь, что это помогает, считает

+0

Я знаю, что этот ответ ваш, как миллиард лет но вы знаете, как на самом деле ОТПРАВИТЬ форму после заполнения значений? Итак, в основном, как нажать кнопку «отправить»? –

Смежные вопросы