Russian Qt Forum
Июнь 03, 2024, 18:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Style Sheet background-color из памяти  (Прочитано 8091 раз)
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #15 : Октябрь 25, 2012, 14:18 »

Поддержу Вереса.
Вместо того, чтобы спокойно убить воробья в виде динамической отрисовки фона виджета из рогатки в виде наследования от QWidget, переопределения у него paintEvent и добавления свойства background, мы используем сразу две пушки: QSS для отрисовки фона и виртуальную файловую систему (!) для того, чтобы сослаться на картинку. Хорошо хоть без ядерного оружия в виде QML обошлись пока.
Все зависит от потребностей ТС. Что-то он молчит.... Я могу лишь только гадать, зачем ему картинку понадобилось через QSS натягивать?
Записан

Гугль в помощь
Bepec
Гость
« Ответ #16 : Октябрь 25, 2012, 14:34 »

Я тебе расскажу зачем.

Потому что CSS - простое и лёгкое средство для изменения стиля. По сравнению с переопределением paintEvent и созданием собственного класса с отображением картинки.

А проблема возникла потому, что пытается CSS (клеем) пришить к платью рюкзак (в виде картинки из памяти).

В принципе проблему решили, путь правильный указали. А если захочет связываться с виртуальной файловой системой, то флаг ему в руки и файловой системой по тому же месту Улыбающийся

PS все решения хороши, но предоставлены на суд публике "Метатрактор на гравицапе" (CSS + VFS), "Бита" (во временную папку и оттуда) и "Спичка" (наследование от QWidget).
Записан
vregess
Гость
« Ответ #17 : Октябрь 25, 2012, 15:01 »

А я поддержу navrocky.
Решение красивое, и по сути нет лишних операций не связанных с задачей. Почему вы считаете это чем-то монструозным? Вас пугает аббревиатура VFS? Всего то надо написать один класс.

"Бита" (во временную папку и оттуда)
Это вообще за гранью добра и зла. Тут-то как раз не связанные с задачей действия (копирование данных на диск, хотя можно обойтись и без этого) - пахнет костылями.

Я бы выбирал между наследованием от QWidget или решением, предложенным navrocky. Тут зависит от ТС.
Но я бы выбрал QAbstractFileEngine Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Октябрь 25, 2012, 15:11 »

Я тебе расскажу зачем.

Потому что CSS - простое и лёгкое средство для изменения стиля. По сравнению с переопределением paintEvent и созданием собственного класса с отображением картинки.
Ах как легко "подпевать букварю" Улыбающийся  

А проблема возникла потому, что пытается CSS (клеем) пришить к платью рюкзак (в виде картинки из памяти).
Хмм... ну а что такого плохого человек хотел? Если у него картинки в памяти - их и подсунуть вполне логично. Однако такой (удобной) возможности не видно (во всяком случае я не нашел). И здесь нужно притормозить и смириться - а это не очень приятно. Вместо гордого "я сделал", "я тебе расскажу" придется осознать что "я всего лишь пользователь инструмента - и если он не позволяет..". Ну ничего, неприятно - зато полезно  Улыбающийся

А я поддержу navrocky.
Решение красивое, и по сути нет лишних операций не связанных с задачей. Почему вы считаете это чем-то монструозным? Вас пугает аббревиатура VFS? Всего то надо написать один класс.
Решение непринципиальное - VFS не отменяет загрузку файла и распаковку его в память, что, как правило, тяжелее чтения с диска. Поэтому не вижу смысла городить огород.
Записан
Bepec
Гость
« Ответ #19 : Октябрь 25, 2012, 15:19 »

to Igors: Бывает, что букварь отражает моё мнение. Это как раз тот случай Улыбающийся

PS VFS бубны на взгляд и разбор в виде чужого кода, помоему, гораздо тяжелее виджета с 2 дополнительными функциями Улыбающийся Это не единственный, но для меня много значащий аргумент.
Записан
Kolobok
Гость
« Ответ #20 : Октябрь 25, 2012, 15:24 »

И я поддержу navrocky.

На днях понадобилось подсовывать webkit-у картинки из базы данных. Тут виджетом уже не обойдешься.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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