python gui 之 tkinter库

http://blog.csdn.net/jcodeer?viewmode=contents

http://tieba.baidu.com/p/3082739560

http://blog.sina.com.cn/s/blog_c8bffac20102wheu.html     组件介绍

http://www.runoob.com/python/python-gui-tkinter.html

一、导入库

import Tkinter

from Tkinter import *

import tkMessageBox as msgbox

二、申请frame

root= Tkinter.Tk()  /  root = Tk()

root.title("label-test")    # 设置窗口标题

root.geometry("200x300")    # 设置窗口大小 注意:是x 不是*

root.resizable(width=True, height=False) # 设置窗口是否可以变化长/宽,False不可变,True可变,默认为True

三、控件

①entry

var = Variable()

e = Entry(root, textvariable=var)

var.set("entry") # 设置文本框中的值

e.pack()   # 这里的side可以赋值为LEFT  RTGHT TOP  BOTTOM

②text

t = Text(根对象)
插入:t.insert(mark,内容)
删除:t.delete(mark1,mark2)
其中,mark可以是行号,或者特殊标识,例如
 INSERT:光标的插入点CURRENT:鼠标的当前位置所对应的字符位置
 END:这个Textbuffer的最后一个字符
 SEL_FIRST:选中文本域的第一个字符,如果没有选中区域则会引发异常
 SEL_LAST:选中文本域的最后一个字符,如果没有选中区域则会引发异常

 ③button

Button(root, text="press", command=printhello).pack()

 ④listbox

创建  lb = ListBox(根对象,【属性列表】)
绑定变量 var = StringVar() lb=ListBox(根对象,listvariable=var)
得到列表中的所有值 var.get()
设置列表中的所有值 var.set((item1,item2,......))
添加:lb.insert(item)
删除:lb.delete(item,...)
绑定事件 lb.bind('',函数)
获得所选中的选项 lb.get(lb.curselection())
属性:selectmode可以为BROWSE MULTIPL SINGLE

 ⑤scollbar

 from Tkinter import *

root = Tk() # 初始化Tk()

root.title("scrl-test")    # 设置窗口标题

root.geometry()    # 设置窗口大小 注意:是x 不是*

def print_item(event):

    print lb.get(lb.curselection())

var = StringVar()

lb = Listbox(root, height=5, selectmode=BROWSE, listvariable = var)

lb.bind('',print_item)

list_item = [1,2,3,4,5,6,7,8,9,0]

for item in list_item:

    lb.insert(END,item)

scrl = Scrollbar(root)

scrl.pack(side=RIGHT,fill=Y)

lb.configure(yscrollcommand=scrl.set)   # 指定Listbox的yscrollbar的回调函数为Scrollbar的set,表示滚动条在窗口变化时实时更新

lb.pack(side=LEFT,fill=BOTH)

scrl['command'] = lb.yview  # 指定Scrollbar的command的回调函数是Listbar的yview
scollbar test