Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Radmir от Август 08, 2016, 20:50



Название: Что раньше - яйцо или курица?
Отправлено: Radmir от Август 08, 2016, 20:50
Немного запутался...
Хочу загрузить html файл из интернета. Он имеет стиль, определенный во внешнем файла (на сервере).
ссылка есть в заголовке файла под тегом <head> </head> типа <link href=... rel=stylesheet type=text/css>
Для того, чтобы QWebview показал этот файл нужно его загрузить, а для того, чтобы использовать заданный стиль
нужно иметь линк и задать QWebview settings.setUserStyleSheet.
Вопрос, как это сделать?
Сначала загрузить как получится, определить линк к стилю, установить стиль пользователя, и загрузить повторно? или сделать refresh,
или загрузить в невидимый qwebview, получить линк, установить стиль и показать QWebview и обновить страницу?

Кто юзал субж, поделитесь выходкой...
С уважением,
Радмир


Название: Re: Что раньше - яйцо или курица?
Отправлено: Alex Custov от Август 08, 2016, 20:55
а зачем его грузить вручную, если он должен загрузиться и примениться самим qwebview?


Название: Re: Что раньше - яйцо или курица?
Отправлено: Racheengel от Август 08, 2016, 21:06
что значит загрузить? скачать для оффлайн-просмотра? (т.е. положили в папочку хтмлку и цсску, чтобы завтра их посмотреть без инета?)
или просто "открыть линк в QWebview "?


Название: Re: Что раньше - яйцо или курица?
Отправлено: Radmir от Август 09, 2016, 07:29
Пример кода:

QWebView myView;
QWebSettings * settings = myView->settings();
QUrl myCssFileURL;
settings->setUserStyleSheetUrl(myCssFileURL);

Коммент:
Мы хотим показать некоторую страницу из интернета, css файл для которой находится в теге <head> ... </head>.
Операция myView.load грузит страницу без этого стиля.
myCssFileURL до загрузки неизвестен.
установить стиль вы не можете.

И тогда получается, чтобы узнать адрес стиля вы должны загрузить страницу,
теперь можно установить стиль,
и придется снова загрузить страницу уже с установленным стилем.
простой reload не помогает...

Кстати, в некоторых случаях страница загружается с определенным стилем, хотя скорее всего он совпадает с внешним.

Радмир


Название: Re: Что раньше - яйцо или курица?
Отправлено: Alex Custov от Август 09, 2016, 11:30
Операция myView.load грузит страницу без этого стиля.

А должна с ним. Стиль синтаксически правильный? Атрибуты HTML типа type="text/css" в кавычках? Сомневаюсь, что проблема в WebKit. Скорее всего проблема в HTML/CSS или в вашем коде. Что за страница в интернет?


Название: Re: Что раньше - яйцо или курица?
Отправлено: Radmir от Август 10, 2016, 07:08
Прошу прощения господа, мой ляпсус.
Наврал в пути к css линку.
Вопрос снимается.
С уважением,
Радмир