python_tkinter学习笔记

330 阅读1分钟

1什么是 Tkinter

Tkinter 是使用 python 进行窗口视窗设计的模块.

2tkinter 的窗口部件

2.1 label and button

import tkinter as tk

window = tk.Tk()#创建一个window
window.title('my window')
window.geometry('200x100')#长和宽

#创建tkinter变量
var = tk.StringVar()
#创建label
l = tk.Label(window,
             textvariable=var,bg='green',
             font=('Arial',12),width=15,height=2)#text='this is apple';textvariable = var
#放置label
l.pack()

on_hit = False
def hit_me():
    global on_hit #使用的是上面的全局变量
    if on_hit==False:
        on_hit=True
        var.set('you hit me')#设置变量值
    else:
        on_hit=False
        var.set('')

#创建按钮
b = tk.Button(window,text='hit me',width=15,
              height=2,command=hit_me)#command=hit_me功能项

b.pack()


window.mainloop()#window不断刷新,while循环

没有点击时:

Label & Button 标签和按钮

点击第一次:

Label & Button 标签和按钮

点击第二次:

Label & Button 标签和按钮

2.2 entry and text

import tkinter as tk

window = tk.Tk()#创建一个window
window.title('my window')
window.geometry('200x100')#长和宽


e = tk.Entry(window,show='*')
e.pack()

t = tk.Text(window,height=2)
t.pack()

def insert_point():
    var = e.get()
    t.insert('insert',var)#'insert'插入到光标后面

def insert_end():
    var = e.get()
    t.insert('end',var)#'end'插入到文本最后面

def insert_row1_col1():
    var = e.get()
    t.insert(1.0,var)#1.0插入到row1,col1


#创建按钮
b1 = tk.Button(window,text='insert_point',width=15,
              height=2,command=insert_point)#command=hit_me功能项

b2 = tk.Button(window,text='insert_end',width=15,
              height=2,command=insert_end)#command=hit_me功能项

b3 = tk.Button(window,text='insert_row1_col1',width=15,
              height=2,command=insert_row1_col1)#command=hit_me功能项

b1.pack()
b2.pack()
b3.pack()


window.mainloop()#window不断刷新,while循环

2.7 canvas画布

import tkinter as tk

window = tk.Tk()
window.title('window')
window.geometry('200x200')

canvas = tk.Canvas(window,bg='red',height=100,width=200)#创建画布
image_file = tk.PhotoImage(file='picture.png')#导入图片
image = canvas.create_image(15,12,anchor='nw',image=image_file)#创建图片

canvas.pack()

def moveit():
    canvas.move(image,2,2)

b = tk.Button(window,text='move',command=moveit).pack()

window.mainloop()