Russian Qt Forum

Qt => QSS => Тема начата: vanessa от Апрель 06, 2011, 22:18



Название: styleSheets: фоновый рисунок у QWidget
Отправлено: vanessa от Апрель 06, 2011, 22:18
Зарядил через styleSheets фоновый рисунок в QWidget, примерно так
Код:
QWidget
{
background-image: url(:/pict/cfmain.svg);
}
но вот этот рисунок наследуется всем, что потом положено в этот віджет как-то например QFrame или QLCDNumber, а мне очень хочется чтоб они были просто прозрачными. Такое можно сделать ?


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: meego_man от Апрель 07, 2011, 00:06
Попробуйте например использовать
Код:
.QWidget {background-image: url(:/pict/cfmain.svg);}


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: vanessa от Апрель 07, 2011, 07:37
Попробуйте например использовать
Код:
.QWidget {background-image: url(:/pict/cfmain.svg);}
1. не сработало
2. чем оно отличается от моего ? точкой в начале ? или его не в стили записывать ?


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: NicK от Апрель 07, 2011, 07:49
Попробуйте использовать привязку к имени виджета, тогда стиль будет применятся только к нему:

Код
C++ (Qt)
your_widget->setObjectName("your_widget");
your_widget->setStyleSheet("#your_widget{background-image: url(:/pict/cfmain.svg);}");

где, your_widget - имя важего виджета.


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: Fess от Апрель 07, 2011, 09:04
вам сюда: http://doc.qt.nokia.com/4.7/stylesheet-syntax.html#selector-types
и.. странно, что не сработало через точку..


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: vanessa от Апрель 07, 2011, 11:11
Я вообще слегка в замешательстве, я начал работу чисто в дизайнере, потом решил его обернуть в с++ и вот тут получил самое интересное: фон у виджета в запущенной программе вообще не отображается, присутствует только в дочернем QLCDNumber
Та программа в прицепе, посмотрите, кому не лень, там немного.....

PS Qt версии 4.7.2, ОС - Linux


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: meego_man от Апрель 07, 2011, 11:15
1. не сработало
[/quote]
 странно, ну тогда используйте вариант предложеный NicK, он точно работает


Название: Re: styleSheets: фоновый рисунок у QWidget
Отправлено: vanessa от Апрель 07, 2011, 11:29
Я сделал по своему.
У виджета в stylesheet написал
Код:
.QFrame
{
background-image: url(:/pict/cfmain.svg);
}
в виджет, положил QFrame размером с сам виджети и отключенной рамкой, и вот все что я ложу уже в тот фрейм отображается без фонового рисунка. В принципе  мне такой вариант даже больше подходит.