python tkinter - doranbai/Note GitHub Wiki
介绍
Tkinter 是 Python 的标准 GUI 库。由于 Tkinter 是内置到 python 的安装包中,只要安装好 Python 之后就能 import Tkinter 库。
IDLE 也是用 Tkinter 编写而成,对于简单的图形界面 Tkinter 还是能应付自如。
创建窗口
import Tkinter
top = Tkinter.Tk()
# 进入消息循环
top.mainloop()
设置窗口的位置geometry
我们要修改窗口位置和修改窗口大小,要用到是tk对象提供的geometry方法。
该方法的用法是geometry(字符串),这个字符串格式为:
"窗口宽x窗口高+窗口位于屏幕x轴+窗口位于屏幕y轴"
win = tkinter.Tk()
sw = win.winfo_screenwidth() #得到屏幕宽度
win.update() #加入这一行,否则窗口尺寸不正确
sh = win.winfo_screenheight()
ww = win.winfo_width()#得到当前窗口宽度
wh = win.winfo_height()
x = (sw-ww) / 2
y = (sh-wh) / 2
win.geometry("%dx%d+%d+%d" %(ww,wh,x,y))
在窗口中添加控件
1、创建控件
2、指定这个控件的 master, 即这个控件属于哪一个
3、告诉 GM(geometry manager) 有一个控件产生了。
root = tkinter.Tk()
listb = Listbox(root) # 创建两个组件
listb.pack() # 将小部件放置到主窗口中
root.mainloop() # 进入消息循环
进度条
tkinter.ttk.Progressbar(upload_window).pack()
Tkinter定时刷新页面或数据
由于tkinter一旦开始执行进入mainloop,就相当于进入一个界面死循环状态,出不来;如果想做定时刷新tkinter界面的控件数据,必须调用tkinter.TK()自带的after函数,这个函数可以设定定时执行某个任务的时间,使用别的python定时执行任务的模块是不行的。