高中信息技术python编程分享 python用什么软件编程做界面

1 说明:
=====
1.1 TraitsUI是一套建立在Traits库基础上的用户界面库 。
1.2 系统将会使用TraitsUI自动生成一个界面,以供用户交互式地修改对象的trait属性 。
1.3 以traits为基础、以Model-View-Controller为设计思想的TraitUI库就是实现这一理想的最佳伴侣 。
1.4 TraitsUI——轻松制作用户界面:在开发科学计算程序时 , 我们希望快速实现一个够用的界面,让用户能够交互式的处理数据,而又不希望在界面制作上花费过多的精力 。
1.5 Traits库:为python的属性增加了类型定义的功能,除此之外他还提供了5个特殊的功能:
初始化:每个traits属性都有自己的默认值 。
验证:是traits属性有明确的类型定义 , 只有满足定义的值时才能给它赋值 。
代理:traits属性值可以代理给其他对象实例的属性 。
监听:是为了当traits属性发生变化时,可以运行事先指定的函数 。
可视化:是拥有traits属性的对象,可以方便的生成可以编辑traits属性的界面 。

高中信息技术python编程分享 python用什么软件编程做界面

文章插图
2 准备:
=====
2.1 官网:
https://github.com/enthought/traitsuihttps://docs.enthought.com/traitsui/2.2 安装:
pip install traits3 Helloworld:
==========
3.1 代码:
from traits.api import HasTraitsfrom traitsui.api import View, VGroup,Label#定义helloworld类class Helloworld(HasTraits):traits_view = View(#VGroup=HGroupVGroup(Label(label='Helloworld=你好世界-1'),Label('Helloworld=你好世界-2'),#等同与上面#只能放在下面,但是显示却在上面#label='Helloworld=你好世界-3',),#窗口大小,标题名,按钮设置;width=1000,height=1000,title='Helloworld',buttons=['OK'],#Ok按钮resizable=True, #窗口大小可调节设置)#实例化demo = Helloworld()if __name__ == '__main__':#可视化demo:那么直接调用其configure_traits方法,系统将会使用TraitsUI自动生成一个界面demo.configure_traits()3.2 图:
高中信息技术python编程分享 python用什么软件编程做界面

文章插图
4 代码:
from traits.api import 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()图:
高中信息技术python编程分享 python用什么软件编程做界面

文章插图
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()


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: