1.hit_me的一个简单tk窗口学习
1.1 代码:
import tkinter as tk win = tk.Tk() win.title('my first window') #定义标题,如果未设置,就是默认tk的标题 #win.geometry('300x200') #定义窗口大小,注意是x(字母xy),不是乘号x win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0 v=tk.StringVar() #定义label中的字符串取值,初始化文本为空的内容 #textvariable=文本变量=text+varialbe,bg=background=背景颜色 l=tk.Label(win,textvariable=v,bg='pink',font=('Arial',12),width=15,height=2) #l=tk.Label(win,text='OMG,this is TK!',bg='green',font=('Arial',12),width=15,height=2) l.pack() #默认居中顶格布局,依次布局。所以b.pack()就是在它下面布局 on_hit=False def hit_me(): #定义command的函数 global on_hit if on_hit==False: on_hit=True #这里容易出错,是赋值(=),不是等于号(==) v.set('you hit me!') else: on_hit=False #这里容易出错,是赋值(=),不是等于号(==) v.set('') b=tk.Button(win,text='hit me',width=15,height=2,command=hit_me) #注意command,不是commond,容易错 b.pack() win.mainloop() #mainloop是一个很大的while循环。
1.2 图1
2. Entry控件、Button控件、Text控件学习
2.1 代码:
import tkinter as tk win = tk.Tk() win.title('my first window') #定义标题,如果未设置,就是默认tk的标题 #win.geometry('300x200') #定义窗口大小,注意是x(字母xy),不是乘号x win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0 e=tk.Entry(win,show=None) #如果输入密码形式,那show='*',entry大小如何设定? e.pack() def insert_point(): v=e.get() #get()函数 t.insert('insert',v) #insert()函数 def insert_end(): v=e.get() t.insert('end',v) #t.insert(1.1,v) #1.1代表第1行的第1列,插入 b1=tk.Button(win,text='insert point',width=15,height=2,command=insert_point) b1.pack() b2=tk.Button(win,text='insert end',width=15,height=2,command=insert_end) b2.pack() t=tk.Text(win,height=2,width=15) #默认width=50 t.pack() win.mainloop()
2.2 图2