1.tkinter的listbox
1.1 代码
#第1步,导出模块 import tkinter as tk #定义窗口,及其标题、大小和位置 win = tk.Tk() win.title('Listbox study window') #定义标题,如果未设置,就是默认tk的标题 win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0 #定义v=var=variable=变量 v1=tk.StringVar() #label标签设置 l=tk.Label(win,bg='pink',width=20,height=2,textvariable=v1) l.pack() #定义函数 def print_selection(): value=lb.get(lb.curselection()) #lb.curselection()是listbox的一个cur(光标)selection(选择) v1.set(value) #按钮设置 b1=tk.Button(win,text='print selection',width=15,height=2,command=print_selection) b1.pack() #定义v2变量 v2=tk.StringVar() #v2.set((11,222,3333,444,55555)) #新加入的列表值 v2.set(('我','大家','美丽风景','万里长城永不倒')) #里面是元组(),可以是数字或字符串 lb=tk.Listbox(win,listvariable=v2) #定义lb为listbox lb.pack() lsit_items=[1,2,3,4] #原本list_box列表里面的数字,初始化列表里面有内容 #往listbox内添加内容的方法一 for item in lsit_items: lb.insert('end',item) #insert函数的‘end’,以及加入的内容 #往listbox内添加内容的方法二 lb.insert(1,'first') lb.insert(2,'second') lb.delete(2) #删除序列2的内容 win.mainloop()
1.2 图1
2.radiobutton学习
2.1 代码
#第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题、大小和位置 win = tk.Tk() win.title('radiobutton study window') #定义标题,如果未设置,就是默认tk的标题 win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0 #上述格式基本固定 #定义v=var=variable=变量 v=tk.StringVar() #label标签设置 l=tk.Label(win,bg='pink',width=20,height=2,text='empty') l.pack() #定义command的选择命令 def print_selection(): l.config(text='you have selected: '+v.get()) #重点学习l=label的config函数和v=variable变量的get函数 #radiobutton的设置 r1=tk.Radiobutton(win,text='Option A',variable=v,value='A',command=print_selection) r1.pack() r2=tk.Radiobutton(win,text='Option B',variable=v,value='B',command=print_selection) r2.pack() r3=tk.Radiobutton(win,text='Option C',variable=v,value='C',command=print_selection) r3.pack() #循环挂起 win.mainloop()
2.2 图2
3.checkbutton的学习
3.1 代码:
#第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题、大小和位置 win = tk.Tk() win.title('Checkbutton study window') #定义标题,如果未设置,就是默认tk的标题 win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0 #上述格式基本固定 #定义v=var=variable=变量 v=tk.StringVar() #label标签设置 l=tk.Label(win,bg='pink',width=20,height=2,text='empty') #也可以设置初始值是text='',即没有内容输出 l.pack() #定义command的选择命令 def print_selection(): if (v1.get()==1) & (v2.get()==0): l.config(text='I love Python') elif (v1.get()==0) & (v2.get()==1): l.config(text='I love C++') #方法一 elif (v1.get()==1) & (v2.get()==1): l.config(text='I love both') else: l.config(text='I donot love either') ''' #方法二 elif (v1.get()==0) & (v2.get()==0): l.config(text='I donot love either') else: l.config(text='I love both') ''' #定义checkbutton的变量和按钮设置,位置 v1=tk.IntVar() cb1=tk.Checkbutton(win,text='Python',variable=v1,onvalue=1,offvalue=0,command=print_selection) cb1.pack() #定义二 v2=tk.IntVar() cb2=tk.Checkbutton(win,text='C++',variable=v2,onvalue=1,offvalue=0,command=print_selection) cb2.pack() #注意由于cb1和cb2(cb=checkbutton)的text的内容字符串长度不一致,故显示感觉1和2位置不是左边垂直对齐 #可以如下设置 #text='C++ '增加其内的字符串空格代替 #循环挂起 win.mainloop()
3.2 图3