Форум сайта python.su
Всем привет!
Такие свойства как межвиджетное расстояние, длины строк ввода, выравнивание в таблице хотелось бы вынести в одно место, как в CSS для HTML. Например, хочется в одном месте рулить расстоянием между виджетами. Понимаю, что можно везде “пробрасывать” свойство и применять его локально для виджета (set_padding, pack_start и прочее), но может есть более элегантный способ? А вообще тема навеяна стремлением сделать по HIGу =)
Офлайн
HTML – это язык разметки. а не язык программирования. поэтому _там_ ЕСТЬ разница между прописыванием свойств непосредственно в HTML-разметке или в CSS-файле
в PyGTK – мы работаем с языком программирования (а не языком разметки) . такчто здесь мы можем извернуться как угодно :-)
можно ведь сделать например – маленькую функцию:
def new_widget(widget_type, widget_class_style, *args, **kwargs):
"""фабрика GTK виджетов, использующих внешний стиль прописанный в widget_class_style"""
widget = widget_type(*args, **kwargs)
# далее идёт присвоения стиля с учотом widget_class_style (как бы из CSS-аналога)
# .. и с учотом hasattr(widget, 'нужне_изменяемое_свойство')
... ... ...
... ... ...
... ... ...
return widget
Отредактировано (Окт. 13, 2010 18:13:37)
Офлайн