Python GUI编程(Tkinter)
Tkinter 编程
- Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
- 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
1、第一个图形界面
from tkinter import *
root = Tk()
root.title("我的第一个python窗口")
root.geometry("240x240")
root.mainloop()
运行结果:
2、文本便签图
from tkinter import *
root = Tk() #fg前景色 bg背景色 relief浮雕样式
lb = Label(root,text='这是我的第一个标签',bg = '#d3fbfb',fg='red',font=('华文新魏',14),width=20,height=2,relief=SUNKEN)
lb.pack()
root.mainloop()
3、给文本设置颜色
from tkinter import *
root = Tk()
lbred = Label(root,text="Red",fg="Red",relief=GROOVE)
lbred.pack()
lbgreen = Label(root,text="绿色",fg="green",relief=GROOVE)
lbgreen.pack()
lbblue = Label(root,text="蓝",fg="blue",relief=GROOVE)
lbblue.pack()
root.mainloop()
4、文本颜色,行,列排列区别
from tkinter import *
root = Tk()
lbred = Label(root,text="Red",fg="Red",relief=GROOVE)
lbred.grid(column=2,row=0)
lbgreen = Label(root,text="绿色",fg="green",relief=GROOVE)
lbgreen.grid(column=0,row=1)
lbblue = Label(root,text="蓝",fg="blue",relief=GROOVE)
lbblue.grid(column=1,columnspan=2,ipadx=20,row=2)
root.mainloop()
5、界面的内置窗体
from tkinter import *
root = Tk()
root.geometry('320x240')
msg1 = Message(root,text='''我的水平起始位置相对窗体 0.2,垂直起始位置为绝对位置 80 像素,我的高度是窗体高度的0.4,宽度是200像素''',relief=GROOVE)
msg1.place(relx=0.2,y=80,relheight=0.4,width=200)
root.mainloop()
6、获取当前时间
import tkinter
import time
def gettime():
var.set(time.strftime("%H:%M:%S")) # 获取当前时间
root.after(1000,gettime) # 每隔1s调用函数 gettime 自身获取时间
root = tkinter.Tk()
root.title('时钟')
var=tkinter.StringVar()
lb = tkinter.Label(root,textvariable=var,fg='blue',font=("黑体",80))
lb.pack()
gettime()
root.mainloop()
7、设置一个按钮,点击按钮弹出颜色选择框
from tkinter import *
import tkinter.colorchooser
def xz():
color=tkinter.colorchooser.askcolor()
colorstr=str(color)
print('打印字符串%s 切掉后=%s' % (colorstr,colorstr[-9:-2]))
lb.config(text=colorstr[-9:-2],background=colorstr[-9:-2])
root = Tk()
lb = Label(root,text='请关注颜色的变化')
lb.pack()
btn=Button(root,text='弹出颜色选择对话框',command=xz)
btn.pack()
root.mainloop()
8、按钮设置
from tkinter import *
class MainWindow:
def __init__(self):
self.frame = Tk()
#设置标签名字
self.label_name = Label(self.frame,text = "name:")
self.label_age = Label(self.frame,text = "age:")
self.label_sex = Label(self.frame,text = "sex:")
#设置标签格式,长宽
self.text_name = Text(self.frame,height = "1",width = 30)
self.text_age = Text(self.frame,height = "1",width = 30)
self.text_sex = Text(self.frame,height = "1",width = 30)
#设置标签整个摆放位置
self.label_name.grid(row = 0,column = 0)
self.label_age.grid(row = 1,column = 0)
self.label_sex.grid(row = 2,column = 0)
#设置按钮
self.button_ok = Button(self.frame,text = "ok",width = 10)
self.button_cancel = Button(self.frame,text = "cancel",width = 10)
#设置可输入的文本位置
self.text_name.grid(row = 0,column = 1)
self.text_age.grid(row = 1,column = 1)
self.text_sex.grid(row = 2,column = 1)
#按钮在整个布局的位置
self.button_ok.grid(row = 3,column = 0)
self.button_cancel.grid(row = 3,column = 1)
self.frame.mainloop()
frame = MainWindow()
9、编辑框
from tkinter import *
class MainWindow:
def __init__(self):
self.frame = Tk()
#设置标签名字
self.label_name = Label(self.frame,text = "name:")
self.label_age = Label(self.frame,text = "age:")
self.label_sex = Label(self.frame,text = "sex:")
#设置标签格式,长宽
self.text_name = Text(self.frame,height = "1",width = 30)
self.text_age = Text(self.frame,height = "1",width = 30)
self.text_sex = Text(self.frame,height = "1",width = 30)
#设置标签整个摆放位置
self.label_name.grid(row = 0,column = 0)
self.label_age.grid(row = 1,column = 0)
self.label_sex.grid(row = 2,column = 0)
#设置按钮
self.button_ok = Button(self.frame,text = "ok",width = 10)
self.button_cancel = Button(self.frame,text = "cancel",width = 10)
#设置可输入的文本位置
self.text_name.grid(row = 0,column = 1)
self.text_age.grid(row = 1,column = 1)
self.text_sex.grid(row = 2,column = 1)
#按钮在整个布局的位置
self.button_ok.grid(row = 3,column = 0)
self.button_cancel.grid(row = 3,column = 1)
self.frame.mainloop()
frame = MainWindow()