创建一个窗口
# 创建一个窗口
import tkinter # 引入tkinter库
window = tkinter.Tk()
window.title('这是窗口标题') # 设置窗口的title
window.geometry('250x250') # 设置窗口大小
window.mainloop() # 显示主窗口
lable标签
# lable标签
import tkinter
window = tkinter.Tk()
window.title('这是窗口标题')
window.geometry('250x250')
l = tkinter.Label(window,
text = '我是标签内容', # 标签显示的内容
bg = 'pink', # 背景颜色
font = ('Arial', 12), # 字体和字体大小
width = 15, height=2 # 标签长宽
)
l.pack() #固定窗口位置
window.mainloop()
label的位置
#label位置
import tkinter
window = tkinter.Tk()
window.title('这个是窗口标题')
window.geometry('250x250')
l = tkinter.Label(window,
text = '我是标签内容',
bg = 'pink',
width = 15,
height = 2
)
l.pack(side='right') #bottom为底部 top 为顶部 left为这边
window.mainloop()
grid布局
#grid布局
#for循环嵌套显示每行每列标签的位置
import tkinter
window = tkinter.Tk()
window.title('这个是窗口标题')
window.geometry('250x250')
for i in range(4):
for j in range(3):
tkinter.Label(window, text=1).grid(row = i, # 行
column = j, # 列
padx = 10, #单元格左右间距
pady = 10 #单元格上下间距
)
window.mainloop()
#grid布局
#单元格左右,上下间距的设置
import tkinter
window = tkinter.Tk()
window.title('这个是窗口标题')
window.geometry('250x250')
#这个标签位置为:第一行,第一列,左右间距为10,上下间距为10
tkinter.Label(window, text='我是标签内容1').grid(
row = 1, # 行
column = 1, # 列
padx = 10, #单元格左右间距
pady = 10 #单元格上下间距
)
#这个标签位置为:第二行,第一列,左右间距为10,上下间距为10
tkinter.Label(window, text='我是标签内容2').grid(
row = 2, # 行
column = 1, # 列
padx = 10, #单元格左右间距
pady = 10 #单元格上下间距
)
window.mainloop()
place布局
#place布局
import tkinter
window = tkinter.Tk()
window.title('这个是窗口标题')
window.geometry('250x250')
l = tkinter.Label(window, text = '这个是标签内容', justify = tkinter.RIGHT, width=50)
l.place(
x = 10, y = 10, # 设置x,y坐标
width = 100, height = 30 # 设置长宽
)
window.mainloop()
扫描二维码关注公众号,回复:
12731633 查看本文章

定义一个Button按钮 ,响应事件为关闭窗口
#定义一个Button按钮 ,响应事件为关闭窗口
import tkinter
window = tkinter.Tk()
window.title('我是窗口标题')
window.geometry('250x250')
#定义button
b = tkinter.Button(window,
text = '退出', # 定义按钮的文字
bg = 'pink', # 背景颜色
width = 15, height = 2, # 设置长度
command = window.quit # 响应事件:关闭窗口
)
b.pack()
window.mainloop()
对文本框插入内容
#对文本框插入内容
import tkinter
window = tkinter.Tk()
window.title('my window')
window.geometry('200x200')
#定义对文本框要插入的内容函数
def plus():
n1 = 1 # 设置的变量
n2 = 2 # 设置的变量
t.insert('insert', int(n1) + int(n2)) # 把整数n1+整数n2的结果插入到文本框显示
#通过点击按钮,函数传值,command=plus,/t.instert('insert',)/ ,把内容插入到变量名为:t 的文本框
b1 = tkinter.Button(window, text="计算两数之和", command = plus)
b1.pack()
# 定义文本框
t = tkinter.Text(window,
state = 'normal', # 有disabled、normal 两个状态值,默认为normal
width = 15, height = 2
)
t.pack()
window.mainloop()
清空文本框内容
#清空文本框内容
import tkinter
window = tkinter.Tk()
window.title('my window')
window.geometry('200x200')
def clear():
t.delete(1.0, 'end') # 清除文本框内容
b1 = tkinter.Button(window, text = "清空文本框内容", command = clear)
b1.pack()
# 定义文本框
t = tkinter.Text(window,
state = 'normal', # 有disabled、normal 两个状态值,默认为normal
width = 15, height = 2
)
t.pack()
window.mainloop()
Entry&Text输入框与文本框
#Entry&Text输入框与文本框
#两个文本框输入整数相加的例子,文本框相互传参,并且对文本框插入内容
import tkinter
window = tkinter.Tk()
window.title('my window')
window.geometry('200x200')
def plus():
n1 = e1.get() # 获取输入框1的值
n2 = e2.get() # 获取输入框2的值
t.delete(1.0, 'end') # 清除文本框内容
t.insert('insert', int(n1) + int(n2)) # 将结果添加到文本框显示
l1 = tkinter.Label(window, text = '输入数字1')
l1.pack()
# 定义输入框1
e1 = tkinter.Entry(window, width = 15)
e1.pack()
# 定义输入框2
l2 = tkinter.Label(window, text = '输入数字2')
l2.pack()
e2 = tkinter.Entry(window, width = 15)
e2.pack()
b1 = tkinter.Button(window, text = "计算两数之和", command = plus)
b1.pack()
# 定义文本框
t = tkinter.Text(window,
state = 'normal', # 有disabled、normal 两个状态值,默认为normal
width = 15, height = 2
)
t.pack()
b2 = tkinter.Button(window, text='退出', command = window.quit)
b2.pack()
window.mainloop()
messagebox消息对话框
#messagebox消息对话框
import tkinter
import tkinter.messagebox
window = tkinter.Tk()
window.title('这个是窗口标题')
window.geometry('250x250')
def say_hello():
tkinter.messagebox.showinfo(title='提示框窗口标题', message='我提示框的内容!')
#定义消息对话框架
b = tkinter.Button(window, text = "提示框", command = say_hello)
b.pack()
window.mainloop()
判断账号密码登录的例子
#判断账号密码登录的例子
import tkinter
import tkinter.messagebox
# 用户登录验证
def login():
name = entryName.get()
pwd = entryPwd.get()
if name == 'admin' and pwd == '123456':
tkinter.messagebox.showinfo(title='userlogin', message='ok')
else:
tkinter.messagebox.showerror(title='userlogin', message='Error')
# 清空用户输入的用户名和密码
def cancel():
varName.set('')
varPwd.set('')
window = tkinter.Tk()
window.title('个人中心登录')
window.geometry('210x120')
varName = tkinter.StringVar(value='')
varPwd = tkinter.StringVar(value='')
# 创建标签
labelName = tkinter.Label(window, text='User Name', justify=tkinter.RIGHT, width=80)
# 将标签放到窗口上
labelName.place(x=10, y=5, width=80, height=20)
# 创建文本框,并设置关联的变量
entryName = tkinter.Entry(window, width=80, textvariable=varName)
entryName.place(x=100, y=5, width=80, height=20)
labelPwd = tkinter.Label(window, text='User Pwd:', justify=tkinter.RIGHT, width=80)
labelPwd.place(x=10, y=30, width=80, height=20)
# 创建密码文本框
entryPwd = tkinter.Entry(window, show='*', width=80, textvariable=varPwd)
entryPwd.place (x=100, y=30, width=80, height=20)
# 创建按钮组件,同时设置按钮事件处理函数
buttonOk = tkinter.Button(window, text='Login', command=login)
buttonOk.place(x=30, y=70, width=50, height=20)
buttonCancel = tkinter.Button(window, text='Cancel', command=cancel)
buttonCancel.place(x=90, y=70, width=50, height=20)
# 启动消息循环
window .mainloop()
窗口屏幕居中显示
import tkinter
win = tkinter.Tk()
sw = win.winfo_screenwidth()
#得到屏幕宽度
sh = win.winfo_screenheight()
#得到屏幕高度
ww = 250
wh = 150
#窗口宽高为100
x = (sw-ww) / 2
y = (sh-wh) / 2
win.geometry("%dx%d+%d+%d" %(ww,wh,x,y))
win.mainloop()
美化窗口方法
'''
# tkinter 美化窗口
import tkinter # 引入tkinter库
window = tkinter.Tk()
window.title('这是窗口标题') # 设置窗口的title
window.geometry('250x250') # 设置窗口大小
#window['bg'] = '#0099ff'# 设置背景颜色
#window.minsize(300,300) #固定窗口最大分辨率
#window.maxsize(250,250) #固定窗口最小分辨率
#window.attributes('-toolwindow', 1) #工具栏样式
window.attributes('-alpha',0.95) # 窗口透明度
window.mainloop() # 显示主窗口
'''
'''
# 输入框,明/密文显示
import tkinter
#创建主窗口
win = tkinter.Tk()
win.title("主界面")
#entry = tkinter.Entry(win) # 明文
entry = tkinter.Entry(win,show='*' ) # 密文
entry.pack()
win.mainloop()
'''