TkDocs A First (Real) Example 中文注释

A First (Real) Example

from tkinter import *
from tkinter import ttk

def calculate(*args):
    try:
        value = float(feet.get())
        meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)
    except ValueError:
        pass
    
root = Tk()      #定义一个窗口实例
root.title("Feet to Meters")    #设定标题

mainframe = ttk.Frame(root, padding="3 3 12 12")    #定义一个框架,padding是四周的边距
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

feet = StringVar()
meters = StringVar()

feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)   #定义一个输入文本框,绑定一个变量feet,设定宽度为7
feet_entry.grid(column=2, row=1, sticky=(W, E))         #为输入文本框确定一个位置和固定的方向.
      
ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))      #定义一个标签,绑定一个字符串变量,设定位置及对齐方式.
ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)    #定义一个按纽及属性,按纽名字,绑定的函数,所在的位置和对齐方向.

ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W)
ttk.Label(mainframe, text="is equivalent to").grid(column=1, row=2, sticky=E)
ttk.Label(mainframe, text="meters").grid(column=3, row=2, sticky=W)

for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)      #遍历部件,设定边距.

feet_entry.focus()        # 设置文本输入框为焦点
root.bind('<Return>', calculate)       #将按键与函数绑定,按下回车键后将调用calculate函数.这里绑定的是根窗口,在根窗口的任意位置按下回车键都会调用计算函数

root.mainloop()

from tkinter import *
from tkinter import ttk

导入tkinter库和8.5版之后的新的"主题小部件"(ttk)

These two lines tell Python that our program needs two modules. The first, "tkinter", is the standard binding to Tk, which when loaded also causes the existing Tk library on your system to be loaded. The second, "ttk", is Python's binding to the newer "themed widgets" that were added to Tk in 8.5.

建立小控件时,以ttk开头.比如建立按纽用ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W),建立标签用:ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E)).

.grid属性指控件所在的位置,sticky指控件固定的位置.W指西边,也就是左侧.E指东边.

 

原文档地址:http://www.tkdocs.com/tutorial/firstexample.html

posted @ 2017-05-09 11:07  夜梦多离殇  阅读(374)  评论(0编辑  收藏  举报