【python】tkinter练习笔记
5 年前
田田田田
节奏感。
https:// study.163.com/course/co urseMain.htm?courseId=1003216011
PS,老师声音很好听,好吧……也比较帅气(*^▽^*)
#tk1.py
#Label+Button
import tkinter as tk
window=tk.Tk()
window.title('tk1')
window.geometry('200x400')
var=tk.StringVar()
#Label的内容是可变的,但只能Lable.set()方法操作,不能手工输入
l=tk.Label(window,textvariable=var,bg='green',font=('Arial',12),width=15,height=2)
l.pack()
on_hit=False
#hit_me没有向外返回值,而是直接在函数内操作函数外的值
#一个是global on_hit,另一个是用var=tk.StringVar(),var.set()
def hit_me():
global on_hit
if on_hit==False:
on_hit=True
var.set('you hit me')
else:
on_hit=False
var.set('no hit')
b=tk.Button(window,text='hitme',width=10,height=2,command=hit_me)
b.pack()
window.mainloop()
#tk2.py
#从上到下,Entry-Button-Text
#在Entry里输入,点击button时同步显示到Text中
import tkinter as tk
#Entry输入框有个show属性,可以设置输入不可见
#输入内容用Entry.get()获得
window=tk.Tk()
#e=tk.Entry(window,show='*')
e=tk.Entry(window,show=None)
e.pack()
def insert_point():
#从Entry拿到输入
var=e.get()
#把输入插入Text文本框
t.insert('insert',var)
def insert_end():
var=e.get()
t.insert('end',var)
b1=tk.Button(window,text='insert point',width=15,height=2,command=insert_point)
b2=tk.Button(window,text='input end',width=15,height=2,command=insert_end)
b1.pack()
b2.pack()
#Text的内容是用text.insert插入
t=tk.Text(window,height=2)
t.pack()
window.mainloop()
#tk3.py
import tkinter as tk
#主要学习ListBox的用法
#Label-Button-Listbox
#点击button,在label中显示listbox的当前选择
#凡是标签参数里面想要用变量,都用tk.StringVar()这种类型
window=tk.Tk()
var=tk.StringVar()
#改变lable的显示内容,用var.set
l=tk.Label(window,textvariable=var,bg='yellow',width=4)
l.pack()
#Listbox有个listvariable参数,表示选项的内容,后面继续插入选项用Listbox,insert()方法
# 另外有参数selectmode=MULTIPLE,可以多选
var2=tk.StringVar()
var2.set(11)
#lb=tk.Listbox(window,listvariable=var2,selectmode=tk.MULTIPLE)
lb=tk.Listbox(window,listvariable=var2)
for item in [1,2,3,4]:
lb.insert('end',item)
lb.insert(1,'first')
lb.insert(2,'second')
lb.delete(2)
def print_selection():
#取得lb.curselection()
value=lb.get(lb.curselection())
#显示在Label中
print(var2.get)
var.set(value)
btn=tk.Button(window,text='print selection',command=print_selection)
btn.pack()
lb.pack()
window.mainloop()
#tk4.py
#Radiobutton+Label
#稍微复杂
import tkinter as tk
window=tk.Tk()
window.title('my window')
window.geometry('200x200')
l=tk.Label(window,bg='yellow',text='Empty',width=20)
l.pack()
def print_selection():
l.config(text='you have selected'+var.get())
#r1,r2等共用一个var=tk.StringVar(),var是参数variable的值
#variable=var,value='A'意思是:被选中时,变量var的值是'A',但是显示一直是text='opton A'
var=tk.StringVar()
r1=tk.Radiobutton(window,variable=var,value='A',text='opton A',command=print_selection)
r1.pack()