Название: Авторизация вконтакте Отправлено: qt_user от Ноябрь 01, 2011, 19:56 Добрый вечер,
Мне необходимо авторизоваться вконтакте, только не через http://vkontakte.ru/login.php, а через скромный маленький виджет http://vkontakte.ru/developers.php?oid=-1&p=Auth создал файл index.html который выглядит так: Код: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> далее этот файл открыл считал и отобразил в QWebView, в итоге получилось то что на картинке: (http://pixs.ru/showimage/authPNG_6818855_3257145.png) но в отличии от обычного браузера (IE например) кнопка не работает, Вопрос: как сделать чтобы кнопка "заработала" и как на нее нажать програмно Название: Re: Авторизация вконтакте Отправлено: ecspertiza от Ноябрь 01, 2011, 20:29 А у тебя скрипты в QWebView разрешены ? ну и на всякий случай flash-плагины ?
Название: Re: Авторизация вконтакте Отправлено: qt_user от Ноябрь 01, 2011, 20:33 А у тебя скрипты в QWebView разрешены ? ну и на всякий случай flash-плагины ? извиняюсь за глупый вопрос - а как их разрешить скрипты и флешки?Название: Re: Авторизация вконтакте Отправлено: qt_user от Ноябрь 01, 2011, 21:01 вот добавил атрибуты:
Код: settings()->setAttribute(QWebSettings::JavascriptEnabled, true); всеравно не открывает ничего, в чем может быть проблема? Название: Re: Авторизация вконтакте Отправлено: ufna от Ноябрь 01, 2011, 21:09 а браузер из QtDemo открывает?
Название: Re: Авторизация вконтакте Отправлено: ecspertiza от Ноябрь 01, 2011, 21:14 Флешки\скрипты разрешить вот так
ui->webView->settings()->setAttribute(QWebSettings::JavascriptEnabled,true); ui->webView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows,true); ui->webView->settings()->setAttribute(QWebSettings::JavaEnabled,true); ui->webView->settings()->setAttribute(QWebSettings::PluginsEnabled,true); Браузер из демок открывает. Тоже решил попробовать, просто так QWebView его открывать не хочет, и полез в браузер смотреть что он там колдует :) Название: Re: Авторизация вконтакте Отправлено: ecspertiza от Ноябрь 01, 2011, 21:45 Посмотри пример браузера в QtDemo. Насколько понял все волшебство в ф-ции WebPage::acceptNavigationRequest в файлике webview.cpp . Тебе нужно будет создать потомок от QWebPage и там рулить этой ф-цией.
Название: Re: Авторизация вконтакте Отправлено: qt_user от Ноябрь 01, 2011, 22:00 Посмотри пример браузера в QtDemo. Насколько понял все волшебство в ф-ции WebPage::acceptNavigationRequest в файлике webview.cpp . Тебе нужно будет создать потомок от QWebPage и там рулить этой ф-цией. это какой Fancy Browser?или где находятся QtDemo? Название: Re: Авторизация вконтакте Отправлено: alexman от Ноябрь 01, 2011, 22:35 Пробовал bool QWebPage::event ( QEvent * ev ) [virtual] c нужным эвентом?
Название: Re: Авторизация вконтакте Отправлено: ecspertiza от Ноябрь 02, 2011, 08:17 это какой Fancy Browser? или где находятся QtDemo? У меня лежит по пути c:\Qt\4.7.3\demos\browser\ Обычно в папке с Qt папка demos - демки, examples -примеры Название: Re: Авторизация вконтакте Отправлено: qt_user от Ноябрь 04, 2011, 14:22 Короче дело не в WebPage::acceptNavigationRequest вся соль в QWebPage *QWebPage::createWindow(QWebPage::WebWindowType type)
в этой ф-ции надо создать новое окно внутри которого QWebView и вернуть указатель на новый QWebPage. Неправда как-то магически? пример взял с демки браузера |