我正在编辑使用Qt4的TraitsUI应用。如何使用style_sheet在视图中设置特定元素的样式?
据我所知,TraitsUI Item / Button / etc被翻译成几个Qt Widgets。我只是无法弄清楚如何引用特定元素。是否有一种不错的方式来设计创建的特定QLabel / QPushButtn / etc?我很高兴有一种方法可以将id或类分配给创建的小部件,并使用单独的样式表或在创建Item / Button /等时指定样式。
例如,这是一个带有style_sheet的Controller中的简单视图,它将两个输入元素都变为黄色。我希望能够以不同的方式设计两个项目的样式。我怎么能这样做?
&
答案 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()
下面会生成以下用户界面: