Python基础6PPT文件格式下载.ppt
《Python基础6PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《Python基础6PPT文件格式下载.ppt(61页珍藏版)》请在冰豆网上搜索。
Xlib(C)调用X的库,和XServer通信。
Tkinter,目前Python已经选择支持Tkinter作为它的正式GUI实现。
Tkinter是一个成熟的跨平台接口,它为GUI应用程序提供小型的配件集。
但并不意味着要固定于这个集合。
Tkinter是可扩展的,即我们还可以使用第三方的配件程序包。
Widget是用户接口元素,例如listbox(列表框)和radiobutton(单按钮)。
Tkinter证明应用程序的接口设计可与应用程序的事务例程分开创建。
选择Tkinter作为自己的GUI环境时,主要必须考虑在何处放置正确的配件以及如何更好的设置应用程序。
他提供的另一个特征是可以利用一个几何管理函数集合帮助安排遍布界面的配件。
完成可视化设计后,只需要把配件操作绑定到需要调用的具体函数上即可,至此图形界面准备妥当。
Tkinter允许快速的处理按钮和窗口,并定义其属性。
设计和创建自己的界面后,可以改变应用程序的事务函数而不对GUI代码进行任何改变。
Tkinter,Button该配件定义可点击的按钮,在点击时可以执行一个特定操作Canvas该配件用于绘制图像,线条,多边形及其他各类图形元素Checkbutton该配件揭示可以控制拥有两个不同值的变量的按钮Entry该配件实现一个简单文本输入域Frame在一个窗口内部创建一个复杂的布局时,该配件以类似于其他配件的容器的方式工作。
Label该配件处理文本或图像的显示Listbox该配件显示一个可能选项列表Menu该配件用于实现下拉和弹出菜单Menubutton该配件用于实现下拉菜单Message该配件以类似标签配件的方式显示文本消息,但使用强大的格式化能力Radiobutton该配件与一个变量相关,点击时变量获得其值Scale该配件提供滑块,该滑块帮助用户设置数值变量的值。
Scrollbar该配件实现标准滚动条,这些滚动条可同其他滚动条一起使用,例如listbox,canvas,entry和textText该配件显示可以编辑并格式化的文本Toplevel该配件是另一个容器配件,类似于frame配件,Tkinter,Tkinter也提供Image类。
该类是显示图形对象(包括位图和GIF图像)的基础。
所有Tkinter都可以访问特定的几何管理方法,这些方法旨在跨越整个父配件区域组织它们。
这些方法可归结为三个不同的类:
pack,grid和place。
Tkinter还允许我们为每个具体对象创建事件绑定,并在将一个事件捆绑到一个配件之后,可以指定时间发生时应调用哪个函数。
为了补充Tkinter,也可使用Python元配件,Python元配件是使用提供许多有趣复杂配件的Tkinter模块在Python中建立高层配件的工具箱。
Tkinter,调用Tkinter的方式fromTkinterimport*importTkinterWidget?
Widget是Button(按钮),Canvas(画布),Menu(菜单),Label(单行标签),Message(多行标签),Listbox(列表),Entry(单行输入框),Frame(框架)等的统称,Tkinter,Option?
所有的Widget都有很多options,包括fg(前景色),bg(背景色),font(字体),command(事件处理函数),text(内容)等等。
Helloworld,fromTkinterimport*root=Tk()w=Label(root,text=Hello,world!
)w.pack()root.mainloop(),Tkinter,对于较大程序,一般写到一个类中。
Widget配置,Tk中的每一个widget都有很多option,通过改变这些option可以改变widget的外观。
典型的option有控制显示的内容,颜色,大小,事件处理函数等等,Tkinter提供了统一界面用于处理所有的option。
通常有下面的方法在创建wiget时设置widget的option。
Widgetclass(master,option=)w=label(root,text=hello,fg=red),几何管理器,放置widget三种方式:
PackGridPlace,Pack管理器,Cavity(空间):
masterwidget上的空间,表示分配空间一部分slavewidget之后,masterwidget还剩下的空间,用于分配给其它还没有摆好的slavewidget。
Parcel(包裹):
从cavity中分配出一个空间,用于摆放一个slavewidget。
Pack管理器使用方法:
w.pack(option).w是一个slavewidget,常用的option有,Pack管理器option,side表示把w放到哪个边上,side=TOP,BOTTOM,LEFT,RIGHTPadx,pady表示parcel的每一个边和w之间预留的空间。
Ipadx,ipady表示w的每一个边和w内包含文字之间的预留空间,w会因此变大。
Fill=None,X,Y,BOTHNone表示未出slavewidget的大小X扩大宽度Y扩大高度BOTH高度宽度同时扩大,Pack管理器option,Anchor表示在parcel中放置slavewidget的方式,缺省是CENTER,也可以是以下值:
W靠左放置E靠右放置N靠上放置S靠下放置NW靠左上放置靠右上放置靠左下放置靠右下放置中间,管理器,管理器的使用。
W.grid(options)Grid管理器把一个masterwidget的所有可用空间分成格状的很多小份,每一份叫做一个cell,用row,column,rowspan,columnspan就可以确定一个cell。
Row指明在那一行Column指明在那一列Rowspan指明占了几行Columnspan指明占了几列,Grid管理器,Padx,padyIpadx,ipadySticky=NWSE,Grid管理器,Grid管理器,典型例子:
(默认引用为fromTkinterimport*)单组件填充满父组件:
text=Text(root,)root.rowconfigure(0,weight=1)root.columnconfigure(0,weight=1)可以看出,用grid填充不如pack方便。
多组件布局(滚动条):
效果肯定是3种布局方式中最好的。
text=Text(root,)text.grid(),Grid管理器,#纵向sb=Scrollbar(root,)sb.grid(row=0,column=1,sticky=ns)text.configure(yscrollcommand=sb.set)sb.configure(command=text.yview)#横向sb=Scrollbar(root,orient=horizontal,)sb.grid(row=1,column=0,sticky=ew)text.configure(xscrollcommand=sb.set)sb.configure(command=text.xview),Place管理器,Widget的样式,许多widget都支持同样的option,包括颜色,字体等。
颜色:
大多数widget允许用户设置background和foreground来改变前景色和背景色。
前景色一般指widget上文字的颜色。
red,yellow,blue,green和lightblue等,不同系统有不同的颜色值,字体,Tkinter中允许用户指定字体。
一般不需要指定,因为Tk中大多数的简单widget都有很好的默认字体。
边框,所有的widget都有一个边框。
边框包括3D的relief(浮雕)效果和FocusHighlight(焦点高亮)区域。
Reliefoption用来表示如何绘制一个widget的边框,可以是SUNKENRAISED,GROOVERIDGE和FLATborderwidth或者bdoption表示widget边框的大小,一般为2或1。
太大不好看。
边框,FocusHighlightregion(焦点高亮区)也是一种边框,是在边框之外的另一个边框,在widget得到焦点的时候,也就是在widget可以接收用户的键盘输入事件的时候,绘画这个FocusHighlightregion,在边框外再画一个边框,表示这个widget得到了这个焦点,可以接收键盘输入。
边框,Highlightcoloroption表示widget得到焦点的时候,FocusHighlightRegion的颜色,一般为黑色。
highlightbackgroundoption表示widget没有得到焦点的时候,FocusHigh-lightRegion的颜色,一般和widget一样的背景色。
Highlightthickness表示FocusHighlightRegion的宽度,一般为1或2.,边框,fromTkinterimport*bd=range(1,9,3)t=border=+str(k)forkinbdrelief=RAISED,SUNKEN,GROOVE,RIDGE,FLAT,边框,foriinrange(len(bd):
forjinrange(len(relief):
Button(text=ti+reliefj,relief=reliefj,highlightcolor=blue,highlightbackground=white,highlightthickness=bdi,bd=bdi).grid(row=j,column=i,padx=2,sticky=W)mainloop(),鼠标,Cursoroption可以指定一个鼠标形状,当鼠标移动到这个widget上时,显示这个鼠标的形状。
如果不指定这个option,那么当鼠标移动到widget上时,显示和它masterwidget的cursoroption所指定的鼠标形状。
鼠标,cursors=arrow,based_arrow_down,based_arrow_up,boat,bogosity,bottom_left_corner,bottom_right_corner,bottom_side,bottom_tee,box_spiral,center_ptr,circle,clock,coffee_mug,cross,cross_reverse,crosshair,diamond_cross,dot,dotbox,double_arrow,draft_large,draft_small,draped_box,exchange,fleur,gobbler,gumby,hand1,hand2,heart,icon,iron_cross,left_ptr,left_side,left_tee,leftbutton,ll_angle,lr_angle,man,middlebutton,mou