LINUX.ORG.RU

[gtk] Стили виджетов.

 


0

0

Подскажите... Возможно ли и как, присвоить стиль, который предназначен для одного виджета другому виджету?
Например, обычной кнопке присвоить стиль от вкладки (стиль взять из текущей), точнее от заголовка вкладки.
Желательно, чтобы это можно было сделать средствами gtkrc, а не в программе.

★★★★★

Только средствами gtkrc - навряд ли, потому что отрисовка программная. Просто возьми и занаследуй класс от кнопки и переопредели в базовом классе методы для рисования.

MuZHiK-2 ★★★★
()

задай виджету имя, и в gtkrc задавай стиль по этому имени, а не по классу виджета. при описании виджетов возможно наследование стилей

т.е. будет что-то типа

style "my_style" = "notebook" {
    xthickness = 0
}
widget "*my_kewl_widget" style "my_style"

правда, названия стилей для определенных классов виджетов сильно зависят от текущей темы

ananas ★★★★★
()
Ответ на: комментарий от ananas

>правда, названия стилей для определенных классов виджетов сильно зависят от текущей темы
Вот то-то и оно. Мне надо из текущей темы дернуть.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ananas

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

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

Хотелось бы просто сделать что-то типа ссылки на стиль по классу виджета... наверное так.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ananas

Эм... может я не понял чего, но как с помощью ее получить стиль от другого виджета?
Забыл сказать, что используется pygtk, т.е. gtk.Widget.rc_get_style() вернет стиль для виджета, для которого оно вызывается.
Или временно создать виджет, получить стиль, потом его удалить?
Посмотрю. Спасибо.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ananas

Только сейчас подумал. А ведь gtk.Notebook - целостный виджет. А мне надо только стиль заголовка закладки.

ls-h ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.