python 股票实时行情,python和gui学生成绩管理系统

  

  1 说明:   

  

  =====   

  

  1.1 TraitsUI是一套基于Traits库的用户界面库。   

  

  1.2系统将使用TraitsUI自动生成一个界面,供用户交互修改对象的trait属性。   

  

  1.3基于traits,用模型-视图-控制器设计的TraitUI库是实现这一理想的最佳伴侣。   

  

  1.4TraitsUI-making用户界面轻松:在开发科学计算程序时,我们希望快速实现一个足够的界面,让用户可以交互地处理数据,但我们不想在界面制作上花费太多精力。   

  

  1.5Traits库:在python的属性中增加了类型定义的功能,除此之外,他还提供了五个特殊的功能:   

  

  初始化:中的每个特征属性都有自己的默认值。   

  

  验证:'s特征属性有明确的类型定义,只有满足定义的值才能赋值。   

  

  代理:特征的属性值可以委托给其他对象实例的属性。   

  

  监听:用于在traits属性改变时运行预先指定的函数。   

  

  可视化:是一个具有特征属性的对象,可以很容易地生成一个编辑特征属性的界面。   

  

  TraitsUI:一款python的轻松制作用户界面GUI   

  

  2 准备:   

  

  =====   

  

  2.1官方网站:   

  

  3359 github . com/ent think/traitsu 3359 docs . ent think . com/traitsu/2.2安装:   

  

  3 Helloworld:pip安装特征   

  

  ==========   

  

  3.1代码:   

  

  从traits.api导入hastraits从traitsui.api导入视图,VGroup,Label#定义helloworld类类Hello World(hastraits): traits _ View=View(# v group=h group(Label(Label=' Hello World=Hello World-1 ')),Label('Helloworld=Hello World -2 '),#同上#只能放在下面,但显示在# Label=' Hello World=Hello World-3 ',),#窗口大小,标题Width=1000,height=1000,title=' Hello World ',buttons=['OK'],# OK button resizable=True,#窗口大小可调整)# instantiation demo=Hello World()if _ _ name _=' _ main _ _ ' 3360 #可视化演示:然后直接调用其configure_traits方法,系统会自动生成一个带有TraitsUI的接口demo.configure _ traits()。图3.2:   

  

  TraitsUI:一款python的轻松制作用户界面GUI   

  

  4代码:   

  

  从traits.api导入HasTraits,Delegate,Instance,Int   

,Strclass Parent(HasTraits): #初始化 last_name = Str("张") #初始化class Child(HasTraits): age = Int #验证 father = Instance(Parent) #定义了father属性是Parent的实例,而此时father的默认属性是None #代理 last_name = Delegate('father') #通过Delagate为child对象创建了代理属性last_name,代理功能将使得c.last_name和c.father.last_name始终保持相同的值 #监听 def _age_changed(self,old,new): print("Age change from %s to %s"%(old,new))p = Parent() #实例化对象c = Child()#正确c.father = pc.last_name#可视化c.configure_traits()

图:

TraitsUI:一款python的轻松制作用户界面GUI

5 visible_when:

===========

5.1 代码:

from traits.api import HasTraits, Str, Range, Bool, Enumfrom traitsui.api import Item, Group, View, Labelclass Person(HasTraits):    first_name = Str()    last_name = Str()    age = Range(0, 120)    legal_guardian = Str()    school = Str()    grade = Range(1, 12)    marital_status = Enum('single', 'married', 'divorced', 'widowed')    registered_voter = Bool(False)    military_service = Bool(False)    gen_group = Group(        Item(name='first_name'),        Item(name='last_name'),        Item(name='age'),        label='General Info',        show_border=True    )    child_group = Group(        Item(name='legal_guardian'),        Item(name='school'),        Item(name='grade'),        label='Additional Info for minors',        show_border=True,        visible_when='age < 18',    )    adult_group = Group(        Item(name='marital_status'),        Item(name='registered_voter'),        Item(name='military_service'),        label='Additional Info for adults',        show_border=True,        visible_when='age >= 18',    )    view = View(        Group(            gen_group,            '10',            Label("Using 'visible_when':"),            '10',            child_group,            adult_group        ),        title='Personal Information',        resizable=True,        buttons=['OK']    )demo = Person(    first_name="Samuel",    last_name="Johnson",    age=16)if __name__ == '__main__':    demo.configure_traits()

5.2 图:

TraitsUI:一款python的轻松制作用户界面GUI

6 login:

======

6.1 超级简单的登录框,代码:

from traits.api import HasTraits, Str, Intclass ModelManager(HasTraits):    model_name = Str  #字符串    category = Str    #字符串    model_file = Str   #字符串    model_number = Int  #数值if __name__ == "__main__":    model = ModelManager()    model.configure_traits()

6.2 图:

TraitsUI:一款python的轻松制作用户界面GUI

7 treeeditor:

=========

7.1 代码:

from traits.api import HasTraits, Str, Regex, List, Instancefrom traitsui.api import Item, View, TreeEditor, TreeNodeclass Employee(HasTraits):    #name = Str('<unknown>')    name = Str()    title = Str()    phone = Regex(regex=r'\d\d\d-\d\d\d\d')    def default_title(self):        self.title = 'Senior Engineer'class Department(HasTraits):    name = Str('<unknown>')    employees = List(Employee)class Company(HasTraits):    name = Str('<unknown>')    departments = List(Department)    employees = List(Employee)no_view = View()tree_editor = TreeEditor(    nodes=[        TreeNode(            node_for=[Company],            auto_open=True,            children='',            label='name',             view=View(['name'])        ),        TreeNode(            node_for=[Company],            auto_open=True,            children='departments',            label='=Departments',  # constant label            view=no_view,            add=[Department],         ),        TreeNode(            node_for=[Company],            auto_open=True,            children='employees',            label='=Employees',   # constant label            view=no_view,            add=[Employee]        ),        TreeNode(            node_for=[Department],            auto_open=True,            children='employees',            label='name',   # label with Department name            view=View(['name']),            add=[Employee]        ),        TreeNode(            node_for=[Employee],            auto_open=True,            label='name',   # label with Employee name            view=View(['name', 'title', 'phone'])        )    ])class Partner(HasTraits):    name = Str('<unknown>')    company = Instance(Company)    traits_view = View(        Item(name='company', editor=tree_editor, show_label=False),        title='Company Structure',        buttons=['OK'],        resizable=True,        style='custom',        width=.3,        height=500    )jason = Employee(name='Jason', title='Senior Engineer', phone='536-1057')mike = Employee(name='Mike', title='Senior Engineer', phone='536-1057')dave = Employee(name='Dave', title='Senior Developer', phone='536-1057')martin = Employee(name='Martin', title='Senior Engineer', phone='536-1057')duncan = Employee(name='Duncan', title='Consultant', phone='526-1057')demo = Partner(    name='Enthought, Inc.',    company=Company(        name='Enthought',        employees=[dave, martin, duncan, jason, mike],        departments=[            Department(                name='Business',                employees=[jason, mike]            ),            Department(                name='Scientific',                employees=[dave, martin, duncan]            )        ]    ))if __name__ == '__main__':    demo.configure_traits()

7.2 图:

TraitsUI:一款python的轻松制作用户界面GUI


8 codeeditor:

==========

8.1 代码:

from traits.api import HasTraits, Codefrom traitsui.api import Item, Group, Viewclass CodeEditorDemo(HasTraits):    code_sample = Code('import sys\n\nsys.print("hello world!")')    code_group = Group(        Item('code_sample', style='simple', label='Simple'),        Item('_'),        Item('code_sample', style='custom', label='Custom'),        Item('_'),        Item('code_sample', style='text', label='Text'),        Item('_'),        Item('code_sample', style='readonly', label='ReadOnly')    )    traits_view = View(        code_group,        #窗口标题名。大小,按钮ok        title='CodeEditor',        width=600,        height=600,        buttons=['OK']    )demo = CodeEditorDemo()if __name__ == "__main__":    demo.configure_traits()

8.2 图:

TraitsUI:一款python的轻松制作用户界面GUI

===超级简单,简化GUI的布局===

自己整理并分享出来。

喜欢的人,请点赞、关注、评论、转发和收藏。

相关文章