Russian Qt Forum
Ноябрь 23, 2024, 09:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как QWebView показать .swf ролик(flash)  (Прочитано 7351 раз)
zoro86
Гость
« : Февраль 17, 2010, 14:54 »

Делаю небольшой броузер для прокрутки рекламы...
brouser.h
Код:
#ifndef BROWSER_H
#define BROWSER_H

#include <QWidget>
#include <QtGui/QIcon>
#include <QtCore/QUrl>

class QWebView;

class browser : public QWidget
{
    Q_OBJECT
public:
browser(QWidget *parent = 0);
void loadFile(const QString& strFile);

private:
QWebView *view;
};
#endif

brouser.cpp
Код:
#include <QtGui>
#include <QtCore/QSettings>
#include <QtWebKit>
#include <QPixmap>
#include "browser.h"

browser::browser(QWidget *parent): QWidget(parent)
{
    view = new QWebView(this);   
         
  QHBoxLayout *ley = new QHBoxLayout();
  ley->addWidget(view);
  ley->setMargin(0);
  ley->setSpacing(0);
 
  setLayout(ley);
  setFixedSize(292,542);   
}
void browser::loadFile(const QString& strFile)
{
QFile file(strFile);
QString strUrl;
qDebug() << strFile;
if(file.exists()){
strUrl = QString("%1").arg(strFile);

qDebug() << "yes file";
}else{
strUrl = QString("http://poumolchaniyu.html");
qDebug() << "no file";
}

view->load(QUrl(strUrl));


QSettings settings;
settings.beginGroup(QLatin1String("websettings"));

QWebSettings *defaultSettings = QWebSettings::globalSettings();
QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
QFont standardFont = QFont(standardFontFamily, standardFontSize);
standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family());
defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize());

QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
QFont fixedFont = QFont(fixedFontFamily, fixedFontSize);
fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family());
defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize());

defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool());
defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool());

QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl();
defaultSettings->setUserStyleSheetUrl(url);


settings.endGroup();

}

html грузится как надо но вот flash ролики не отображает... мож какой нить flash.dll или кодек какой нить... непонимаю, помогите кто знает...
Записан
sendevent
Гость
« Ответ #1 : Февраль 17, 2010, 18:00 »

флеш должен быть установлен для "систмного" браузера плагином, поддерживающим NSPAPI (netscape plugin API - стандартный плагин для включения поддержки флеш в ФФ, да и, скорее всего, у Оперы и ИЕ механизм тотже...) вобщем, если флеш не доступен "системному" браузеру - вебкит тоже без оного.
здесь:
Код:
defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool());
точно включается (в сеттингах тру лежит)?
возможно, прийдется поиграться с library paths.
« Последнее редактирование: Февраль 17, 2010, 18:02 от sendevent » Записан
zoro86
Гость
« Ответ #2 : Февраль 18, 2010, 07:13 »

а что конкретно предлагаете, потому как я и в винде в линухе пробовал, даже запускал броузер который в demo примерах, у него такая же фигня....
что означает ?
Код:
возможно, прийдется поиграться с library paths
Записан
sendevent
Гость
« Ответ #3 : Февраль 18, 2010, 13:10 »

а что конкретно предлагаете, потому как я и в винде в линухе пробовал, даже запускал броузер который в demo примерах, у него такая же фигня....
что означает ?
по поводу "поиграться" - я и себя напарил, и вас попытался  Обеспокоенный
так и не понял - есть ли поддержка флеша в "систомном" браузере?
Цитата: QAss
to enable plugin support, the user must have the appropriate binary files for those plugins installed and the QWebSettings::PluginsEnabled attribute must be enabled for the application
видимо, qtwebkit не может найти те самые подходящие бинарники по путям, которые просматривает.
Записан
zoro86
Гость
« Ответ #4 : Февраль 18, 2010, 13:36 »

Я тут по эксперементировал ... в общем установил adobe flash плеер для firefoxe, только после этого он подхватил, в linuxe поставил через репазитарии iceweasel после этого тоже покатило... тема закрыта ... sendevent спасибо за идеи
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.105 секунд. Запросов: 20.