一.概述
根窗体的创建_实例代码:
>>> from tkinter import *
>>> root = Tk() # 先初始化一个跟窗体,名为 root
>>> root.geometry('360x240') #进行窗体大小设置
运行结果:
二.tkinter模块之常用控件01
(1)介绍
(2)使用方法
例如:
实例1
>>> from tkinter import *
>>> root = Tk()
>>> root.title('test')
''
>>> root.geometry('360x240')
''
>>> lb = Label(root,text = 'I Love Python!')
>>> lb.pack()
运行结果:
实例2
实例3
from tkinter import *
root = Tk()
root.title('test')
root.geometry('360x240')
lb = Label(root,text = 'I Love Python!')
lb.pack()
lb = Label(root,text = 'I Love Python!',bg = 'yellow',fg = 'blue',font =32, relief = SUNKEN )
lb.pack()
txt = Text(root)
var = '''床前明月光,疑是地上霜。'''
txt.insert(END,var)
txt.pack()
运行结果:
三.属性bitmap
实例
from tkinter import *
root = Tk()
root.title('test')
root.geometry('360x240')
#普通类型
lb = Label(root,text = 'I Love Python!')
lb.pack()
#多了背景色等
lb = Label(root,text = 'I Love Python!',bg = 'yellow',fg = 'blue',font =32, relief = SUNKEN )
lb.pack()
#在第二个的基础上 左边多了个 图形
lb = Label(root,text = 'I Love Python!',bg = 'yellow',fg = 'blue',font =32, relief = SUNKEN ,bitmap = 'hourglass',compound = 'left')
lb.pack()
运行结果:
四.tkinter模块之根窗体、常用控件02
(1)实例1
代码如下:
#无法修改text文本的例子
from tkinter import *
root = Tk()
root.title('test')
root.geometry('360x240')
#此时生成的 text 文本即“I Love Python!” 无法进行修改,要想进行修改则需要用 config()方法 进行修改
lb = Label(root,text = 'I Love Python!',bg = 'yellow',fg = 'blue',font =32, relief = SUNKEN )
lb.pack()
如
#可以修改text文本的例子
from tkinter import *
root = Tk()
root.title('test')
root.geometry('360x240')
lb = Label(root,text = 'I Love Python!',bg = 'yellow',fg = 'blue',font =32, relief = SUNKEN )
lb.pack()
#调用config()方法修改text文本内容
lb.config(text = 'I Love Python To!')
(2)实例2
代码如下:
import tkinter
import time
def gettime() :
#获取当前时间并转为字符串
timestr = time.strftime("%H:%M:%S")
#重新设置(展示)标签文本(时间)
lb.configure(text=timestr)
#每个1秒调用函数gettime()自身获取时间
root.after(1000,gettime)
root = tkinter.Tk() #创建一个根窗体
root.title('时钟') #将根窗体命名为 时钟
lb = tkinter.Label(root,text='',fg='blue',font=("黑体",80))
lb.pack()
gettime()
root.mainloop() #用来让根窗体即(页面)不断运行
运行结果:
(3)实例3
代码如下:
from tkinter import *
import time
import datetime
def gettime() :
s = str (datetime.datetime.now()) + '\n'#获取当前系统的时间和日期
txt.insert(END,s)#将获取到的日期和时间 放到txt文本中
root.after(1000,gettime)#每隔1秒调用一次函数geittime自身获取函数
root = Tk()
root.geometry('320x240')#设置根窗体即(页面)大小
txt = Text(root) #形成一个 Text的控件 把它放在 root 的根窗体中
txt.pack() #展示
gettime() #调用函数
root.mainloop() #用来让根窗体即(页面)不断运行
五.tkinter模块之控件布局03
1.
实例1.1
side参数的使用。
>>> from tkinter import *
>>> root = Tk()
>>> lb1 = Label(root,text='广西科技大学',bg = 'yellow',width=15)
>>> lb2 = Label(root,text='广西大学',bg = 'green',width=15)
>>> lb3 = Label(root,text='广西师范大学',bg = 'yellow',width=15)
>>> lb1.pack()
>>> lb2.pack(side = LEFT)
>>> lb3.pack(side = RIGHT) #广西师范大学 在(广西大学)的右边
运行结果:
此时广西科技大学旁边还有空白,没有完全填充。
实例1.2
fill参数的使用。
>>> from tkinter import *
>>> root = Tk()
>>> lb1 = Label(root,text='广西科技大学',bg = 'yellow',width=15)
>>> lb2 = Label(root,text='广西大学',bg = 'green',width=15)
>>> lb3 = Label(root,text='广西师范大学',bg = 'yellow',width=15)
>>> lb1.pack(fill = X) #用于填充实例1.1 所提到的空白处
>>> lb2.pack(side = LEFT)
>>> lb3.pack(side = RIGHT)
运行结果:
2.
实例2.1
>>> from tkinter import *
>>> root = Tk()
>>> lb1 = Label(root,text='广西科技大学',bg = 'yellow',width=15)
>>> lb2 = Label(root,text='广西大学',bg = 'green',width=15)
>>> lb3 = Label(root,text='广西师范大学',bg = 'yellow',width=15)
>>> lb1.grid(column = 2,row = 0) #第 0 行,第 2 列
>>> lb2.grid(column = 0,row = 1) #最上面为第 0 行,最左边为 第 0 列
>>> lb3.grid(column = 1,row = 2)
>>> # lb3.grid(column = 1,columnsoan = 2, row = 2) 此时广西师范大学和广西科技大学将会在 同一列
运行结果:
3.
实例3.1
>>> from tkinter import *
>>> root = Tk()
>>> lb1 = Label(root,text='广西科技大学',bg = 'yellow',width=15)
>>> lb2 = Label(root,text='广西大学',bg = 'green',width=15)
>>> lb3 = Label(root,text='广西师范大学',bg = 'yellow',width=15)
>>> lb1.place(x=0,y=0) # x,y 为像素大小
>>> lb2.place(x=30,y=50)
>>> lb3.place(x=60,y=100)
运行结果:
实例3.2
>>> from tkinter import *
>>> root = Tk()
>>> lb1 = Label(root,text='广西科技大学',bg = 'yellow',width=15)
>>> lb2 = Label(root,text='广西大学',bg = 'green',width=15)
>>> lb3 = Label(root,text='广西师范大学',bg = 'yellow',width=15)
>>> lb1.place(relx=0.1,rely=0.1,relwidth = 0.3 ,relheight = 0.3)
运行结果:
实例3.3
>>> from tkinter import *
>>> root = Tk()
>>> lb1 = Label(root,text='广西科技大学',bg = 'yellow',width=15)
>>> lb2 = Label(root,text='广西大学',bg = 'green',width=15)
>>> lb3 = Label(root,text='广西师范大学',bg = 'yellow',width=15)
>>> lb1.place(relx=0.1,rely=0.1,relwidth = 0.3 ,relheight = 0.3)
>>> lb2.place(relx=0.3,rely=0.3,relwidth = 0.6 ,relheight = 0.6)
运行结果: