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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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