如何在TraitsUI的样式表中使用Qt4 id或类选择器?

时间:2016-05-05 19:17:23

标签: python qt4 enthought qtstylesheets traitsui

我正在编辑使用Qt4的TraitsUI应用。如何使用style_sheet在视图中设置特定元素的样式?

据我所知,TraitsUI Item / Button / etc被翻译成几个Qt Widgets。我只是无法弄清楚如何引用特定元素。是否有一种不错的方式来设计创建的特定QLabel / QPushButtn / etc?我很高兴有一种方法可以将id或类分配给创建的小部件,并使用单独的样式表或在创建Item / Button /等时指定样式。

例如,这是一个带有style_sheet的Controller中的简单视图,它将两个输入元素都变为黄色。我希望能够以不同的方式设计两个项目的样式。我怎么能这样做?

&

1 个答案:

答案 0 :(得分:1)

Item可以单独使用style_sheet参数,因此您可以为每个项目创建单独的样式表,如示例的扩展中所示:

from traits.api import HasStrictTraits, Int, String
from traitsui.api import Item
from traitsui.qt4.extra.qt_view import QtView


class MinimalWorkingExample(HasStrictTraits):
    name = String
    age = Int

    def traits_view(self):
        style_sheet_name = '''
            QLineEdit { background: yellow }
            '''
        style_sheet_age = '''
            QLineEdit { background: green }
            '''


        return QtView(
            Item('object.name', style_sheet=style_sheet_name),
            Item('object.age', style_sheet=style_sheet_age),
        )


if __name__ == '__main__':
    mwe = MinimalWorkingExample(name='Steven', age=32)
    mwe.configure_traits()

下面会生成以下用户界面:

enter image description here