Название: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 21:25 Сделал виджет-панель с градиентынм фоном - все кнопки что на нем - тоже стали с таким фоном - это я так понимаю они стиль унаследовали. Как вернуть обратно им стиль всего приложения?
Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: lit-uriy от Апрель 15, 2009, 21:27 >>Сделал виджет-панель с градиентынм фоном
А стиль чем задёшь, таблицей стилей или нет? Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 21:29 В дизайнере в строке style Sheet
Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: SimpleSunny от Апрель 15, 2009, 21:36 For example, the following style sheet specifies that all QLineEdits should use yellow as their background color, and all QCheckBoxes should use red as the text color:
QLineEdit { background: yellow } QCheckBox { color: red } Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 21:42 И чё?
Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: lit-uriy от Апрель 15, 2009, 21:46 2 Caduceus, тебе надо будет указвать более полную запись:
QWidget#Form {background-color: rgb(29, 63, 255);} где "Form" имя экзепляра интерисующего тебя класса (см. тут (http://doc.crossplatform.ru/qt/4.5.0/stylesheet-syntax.html#selector-types)) Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 21:54 В дизайнере через EditStyleSheet само прописалось так:
background-color: qlineargradient(spread:reflect, x1:0.5, y1:0.0170455, x2:0.517, y2:0.5, stop:0 rgba(203, 197, 191, 255), stop:1 rgba(230, 226, 221, 255)); Для дочерних элементов поле в EditStyleShhet пустое Можно ли как-то через дизайнер отменить распространение стиля на дочерние элементы? Без программинга Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: lit-uriy от Апрель 15, 2009, 21:55 я тебе пример привел. забей его в окошко настройки стиля того виджета который должен иметь особый стиль и посмотри.
Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 21:58 Сделал так:
widget#Dialog {background-color: qlineargradient(spread:reflect, x1:0.5, y1:0.0170455, x2:0.517, y2:0.5, stop:0 rgba(203, 197, 191, 255), stop:1 rgba(230, 226, 221, 255))}; Где widget - это имя виджета с градиентом, а Dialog - имя диалога с этим виджетом Градиент у виджета пропал Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: lit-uriy от Апрель 15, 2009, 22:09 Записи:
QWidget#Form и widget#Dialog разве ничем принципиально не отличаются? Помоему очевидно, что в начале идет имя класса, а затем, как я уже говорил, имя виджета. Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 22:15 дааа, поправил. Лучше, но как-то не так
Кнопки не такие. Справа во вложении - какие должны быть Стиль сейчас на детей не распространяется, но дети не такие, какие были бы, если б не лежали на этом виджете: Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: lit-uriy от Апрель 15, 2009, 22:20 Вот у меня тестовый пример, просто создана форма "Form" (экземпляр QWidget), на нее брошена кнопка.
Затем установлен стиль для формы. Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 22:22 А запусти превью в разных стилях - кнопка будет как надо - в стиле выбранного превью?
Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: lit-uriy от Апрель 15, 2009, 22:44 Вот, в том порядке (слева-направо, сверху-вниз), в котором стили в менюхе идут
UI Код: <?xml version="1.0" encoding="UTF-8"?> Название: Re: Как сделать чтобы дочерные виджеты не нстледовали стиль родителя? Отправлено: Caduceus от Апрель 15, 2009, 22:50 Хмм, ну у меня все по типу. В превью кнопки не такие как надо.
Ладно, спасибо, буду копать |