Python GUI 01----第一个窗口

写在前面的话

    我用的python版本是3.4,好多第三方库不兼容啊有木有!!  我本来想学wxpython来着.... 

    真心不知道python3.4除了用tkinter以外,还有没有其他的选择。

(python3*下的GUI选择还是挺多的,比如pyqt、PyGTK等等...........臣妾知道的太晚了,臣妾不服啊!!!!!!!!--2015年4月16日注)  

    言归正传,先来介绍一下tkinter

    Tkinter库是python的默认GUI库,它基于Tk工具集。Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的, 目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开 发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。


要创建GUI程序,下面五步是基本的:

1. 导入Tkinter模块

2. 创建一个顶层窗口对象,来容纳您的整个GUI程序

3. 在您的顶层窗口对象上创建所有的GUI模块。

4. 把这些GUI模块与顶层程序相连接

5. 进入主事件循环

    GUI开发就像画画一样,顶层窗口对象最为画布,画布上面绘制着好多小窗口对象,比如文字标签、按钮、列表框等组件 通常,组件会有一些相应的行为,例如按钮被按下,或者文本框被写入。这种形式的用户行为被称为事件,而GUI程序对事件所采取的响应动作被称为回调。GUI程序正是由这伴随其始末的整套事件体系所驱动的。这个过程被称作事件驱动处理
    当你启动一个GUI程序时,它必须执行一些初始化历程来为核心功能的运行做准备。
    至于组件的排列,Tk有两个坐标管理器用来协助将组建放在正确的位置上。一个坐标管理器是packer(包),另一个是Grid(网格)。
    一旦组件排列完成并显示在屏幕上,GUI程序就进入了一个服务器式的无限循环。这个循环包括等待GUI事件、处理事件、然后返回等待模式,等待下个事件。



15 种常见的TK控件:Button,Canvas,Checkbutton,Entry,Frame,Lebel,Listbox,Menubutton,Menu,Message,Radiobutton,Scale,Scrollbar,Text,Toplevel,Spinbox,PanedWindow,LabelFrame,tkMessageBox

这些空间具有一些共同的属性:
  • Dimensions:尺寸
  • Colors:颜色
  • Fonts:字体
  • Anchors:锚
  • Relief styles:浮雕式
  • Bitmaps:显示位图
  • Cursors:光标的外形
tkinter的三种几何管理方法:
  • pack()
  • grid()
  • place()

    

第一个窗口


import tkinter                                  #注意!在python3.3后大量的库名首字母编程小写!

top=tkinter.Tk()                                #准备一个画布
label=tkinter.Label(top,text="hello world")     #在画布上添加label组件
label.pack()                                    #将label组件显示出来
top.mainloop()                              #进入无限循环

又一个helloworld
from tkinter import *
root = Tk()
root.title('hello world')
root.mainloop()
Python GUI 01----第一个窗口_第1张图片












如果有什么疑问欢迎到我的微信公众号提问~
Python GUI 01----第一个窗口_第2张图片



你可能感兴趣的:(python,图形,wxPython,tkinter)