python tkinter 入门教程
tkinter是python内置的一个制作窗口的模块
用它可以制作用户界面
一、tkinter制作一个窗口
输入一下代码
import tkinter win = tkinter.Tk() # 创建窗口 win.mainloop() # 运行窗口
就可以看到一个最基础的窗口了
接下来可以给窗口进行设置
import tkinter win = tkinter.Tk() win.title('window') # 设置标题 win.geometry('300x200') # 设置窗口大小 win.mainloop()
二、在窗口上放置用户组件
tkinter的用户组件有 Label, Button, Entry等
举例:
import tkinter win = tkinter.Tk() win.title('window') win.geometry('300x200') lbl = tkinter.Label(win, text='hello', font=(None, 80)) # 创建组件 lbl.pack() # 将组件放置在窗口上 win.mainloop()
其中,放置组件有三种方法
pack()
grid(row = i,column = j)
place(x = i,y = i)
再举个例子:
import tkinter win = tkinter.Tk() win.title('window') win.geometry('300x200') btn = tkinter.Button(win, text='hello', font=(None, 24), height=1) # 设置高度 btn.pack() ent = tkinter.Entry(win, font=(None, 24), width=10) # 设置宽度 ent.pack() win.mainloop()
三、组件的事件
button组件有参数command
比如说:
import tkinter def hello(): print("hello") win = tkinter.Tk() win.title('window') win.geometry('300x200') btn = tkinter.Button(win, text='hello', font=(None, 24), command=hello) btn.pack() win.mainloop()
如果函数有参数,可以用匿名函数lambda
import tkinter def hello(name): print("hello:", name) win = tkinter.Tk() win.title('window') win.geometry('300x200') btn = tkinter.Button(win, text='hello', font=(None, 24), command=lambda: hello('tkinter')) btn.pack() win.mainloop()
而Entry组件有函数:get()
它可以返回Entry内的值
import tkinter def hello(name): print("hello:", name) win = tkinter.Tk() win.title('window') win.geometry('300x200') ent = tkinter.Entry(win, font=(None, 24)) ent.pack() btn = tkinter.Button(win, text='hello', font=(None, 24), command=lambda: hello(ent.get())) btn.pack() win.mainloop()