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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Прозрачный фон у QTableView  (Прочитано 17537 раз)
mutineer
Гость
« : Май 25, 2011, 17:58 »

Доброго времени суток

Как сделать прозрачный фон у QTableView?

UPD: Решил. Оказалось что GTK-style не поддерживает прозрачный фон для ячеек View. Поменял у View стиль на Motif и все заработало
« Последнее редактирование: Сентябрь 07, 2011, 09:53 от mutineer » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Май 25, 2011, 18:13 »

QWidget::setWindowOpacity() ?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mutineer
Гость
« Ответ #2 : Май 26, 2011, 11:49 »

Нет, у айтемов все равно белый фон остается
Записан
alexman
Гость
« Ответ #3 : Май 26, 2011, 12:07 »

Попробуйте viewport-у установить Непонимающий
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #4 : Май 26, 2011, 12:08 »

Доброго времени суток

Как сделать прозрачный фон у QTableView?


Вот пример как разместить картинку в QTableView и чтобы ее было видно через альтернативную расцветку строк. Закоментированн пример установки прозрачности и для основного цвета.

qss

Код:
.QTableView
{                                                                                                                                                                                                                                           
    background-image: url(/usr/share/style/logo.png);
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    alternate-background-color: rgba(255, 255, 255, 15%);

/*
    background-color: rgba(255, 255, 255, 50%);
    alternate-background-color: rgba(245, 245, 220, 50%);
*/                                                                                                                                                                                                                                           
}
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
mutineer
Гость
« Ответ #5 : Май 26, 2011, 13:09 »

Фон устанавливается, полупрозрачный цвет поверх него есть, но все это видно только в той части QTableView, где нет ячеек. Цвет ячеек остается белым((
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #6 : Май 26, 2011, 13:12 »

Фон устанавливается, полупрозрачный цвет поверх него есть, но все это видно только в той части QTableView, где нет ячеек. Цвет ячеек остается белым((

Белым и непрозрачным?
Скришот и код в студию!
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
mutineer
Гость
« Ответ #7 : Май 26, 2011, 13:37 »

Код
CSS
background-image: url(/music/button_stop.png);
background-color: rgba(0, 0, 100, 150);
alternate-background-color: rgba(100, 0, 0, 150);

Вот что получается при таком стиле:
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #8 : Май 26, 2011, 13:43 »

Код
CSS
background-image: url(/music/button_stop.png);
background-color: rgba(0, 0, 100, 150);
alternate-background-color: rgba(100, 0, 0, 150);

Вот что получается при таком стиле:


background-color: rgba(0, 0, 100, 15%);
alternate-background-color: rgba(100, 0, 0, 15%);


Не совсем представляю что такое для прозрачности 150. Вероятно нужно, таки, поставить %
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
mutineer
Гость
« Ответ #9 : Май 26, 2011, 13:48 »

Не совсем представляю что такое для прозрачности 150. Вероятно нужно, таки, поставить %

Для прозрачности 150 то же самое, что и для компонентов цвета - она тож может задаваться числом из диапазона 0-255.

Кстати, background-color находится под изображением, а не над ним
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #10 : Май 26, 2011, 13:54 »

Для прозрачности 150 то же самое, что и для компонентов цвета - она тож может задаваться числом из диапазона 0-255.
Да, в документации нашел, но при этом в qss такое указание прозначности не работает. Только что проверил на своем проекте - Qt: 4.7.0. Такое же поведение было на Qt: 4.6.x
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
mutineer
Гость
« Ответ #11 : Май 26, 2011, 13:57 »

В qss не знаю, но через setStyleSheet работает
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #12 : Май 26, 2011, 14:34 »

В qss не знаю, но через setStyleSheet работает

Так работает прозрачность или нет?
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
mutineer
Гость
« Ответ #13 : Май 26, 2011, 14:39 »

В qss не знаю, но через setStyleSheet работает

Так работает прозрачность или нет?

Работает ее задание в виде 0-255 вместо процентов, но задача не решена
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #14 : Май 26, 2011, 15:17 »

Работает ее задание в виде 0-255 вместо процентов, но задача не решена

Тогда полный код в студию. Там где QTableView.setStyleSheet(QString styleStr)
Нужен не кусок, а вся строка "styleStr"

И еще вопрос, тип объекта к которому применяется setStyleSheet - QTableView или что-то отнаследованное от QTableView?
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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