目录:
1.用python做用户界面
2.用户界面设计python
3.python设计图形用户界面
4.python做ui界面
5.python用户图形界面
6.用python设计gui界面
7.python制作软件界面
8.pythonui界面设计
9.python用户界面设计教程
10.用python做图形用户界面
1.用python做用户界面
1 说明:=====1.1 TraitsUI是一套建立在Traits库基础上的用户界面库1.2 系统将会使用TraitsUI自动生成一个界面,以供用户交互式地修改对象的trait属性1.3 以traits为基础、以Model-View-Controller为设计思想的TraitUI库就是实现这一理想的最佳伴侣。
2.用户界面设计python
1.4 TraitsUI——轻松制作用户界面:在开发科学计算程序时,我们希望快速实现一个够用的界面,让用户能够交互式的处理数据,而又不希望在界面制作上花费过多的精力1.5 Traits库:为python的属性增加了类型定义的功能,除此之外他还提供了5个特殊的功能:。
3.python设计图形用户界面
初始化:每个traits属性都有自己的默认值验证:是traits属性有明确的类型定义,只有满足定义的值时才能给它赋值代理:traits属性值可以代理给其他对象实例的属性监听:是为了当traits属性发生变化时,可以运行事先指定的函数。
4.python做ui界面
可视化:是拥有traits属性的对象,可以方便的生成可以编辑traits属性的界面。
5.python用户图形界面
2 准备:=====2.1 官网:https://github.com/enthought/traitsuihttps://docs.enthought.com/traitsui/2.2 安装:pip install traits
6.用python设计gui界面
3 Helloworld:==========3.1 代码:from traits.api import HasTraits from traitsui.api import View, VGroup,Label
7.python制作软件界面
#定义helloworld类classHelloworld(HasTraits): traits_view = View( #VGroup=HGroup VGroup( Label(label=
8.pythonui界面设计
Helloworld=你好世界-1), Label(Helloworld=你好世界-2), #等同与上面#只能放在下面,但是显示却在上面#label=Helloworld=你好世界-3,
9.python用户界面设计教程
), #窗口大小,标题名,按钮设置; width=1000, height=1000, title=Helloworld
10.用python做图形用户界面
, buttons=[OK], #Ok按钮 resizable=True, #窗口大小可调节设置 ) #实例化 demo = Helloworld() if
__name__ == __main__: #可视化demo:那么直接调用其configure_traits方法,系统将会使用TraitsUI自动生成一个界面 demo.configure_traits()
3.2 图:
4 代码:from traits.api import HasTraits,Delegate,Instance,Int,Str classParent(HasTraits):#初始化 last_name = Str(
“张”) #初始化classChild(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 = p c.last_name #可视化 c.configure_traits()图:
5 visible_when:===========5.1 代码:from traits.api import HasTraits, Str, Range, Bool, Enum from traitsui.api
import Item, Group, View, Label classPerson(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 图:
6 login:======6.1 超级简单的登录框,代码:from traits.api import HasTraits, Str, Int classModelManager(HasTraits)
: model_name = Str #字符串 category = Str #字符串 model_file = Str #字符串 model_number = Int
#数值if __name__ == “__main__”: model = ModelManager() model.configure_traits()6.2 图:
7 treeeditor:=========7.1 代码:from traits.api import HasTraits, Str, Regex, List, Instance from traitsui.api
import Item, View, TreeEditor, TreeNode classEmployee(HasTraits):#name = Str() name = Str() title = Str() phone = Regex(regex=
r\d\d\d-\d\d\d\d) defdefault_title(self): self.title = Senior EngineerclassDepartment(HasTraits)
: name = Str() employees = List(Employee) classCompany(HasTraits): name = Str(
) 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]) ) ] )
classPartner(HasTraits): name = Str() 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 图:
8 codeeditor:==========8.1 代码:from traits.api import HasTraits, Code from traitsui.api import Item, Group, View
classCodeEditorDemo(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 图:
===超级简单,简化GUI的布局===自己整理并分享出来。喜欢的人,请点赞、关注、评论、转发和收藏。