ch12_11.py
# ch12_11.py from tkinter import * fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_11") # 窗口标题 root.geometry("300x210") # 窗口宽300高210 lb = Listbox(root) # 拖拽可以多选 for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.pack(pady=10) lb.delete(1,3) # 默认选择第1个项目 root.mainloop()ch12_12.py
# ch12_12.py from tkinter import * fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_12") # 窗口标题 root.geometry("300x210") # 窗口宽300高210 lb = Listbox(root) # 拖拽可以多选 for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.pack(pady=10) print(lb.get(1)) # 默认选择第1个项目 root.mainloop()ch12_13.py
# ch12_13.py from tkinter import * fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_13") # 窗口标题 root.geometry("300x210") # 窗口宽300高210 lb = Listbox(root) # 拖拽可以多选 for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.pack(pady=10) print(lb.get(1,3)) # 打印1~3个项目 root.mainloop()ch12_14.py
# ch12_14.py from tkinter import * def callback(): # 打印所选的项目 indexs = lb.curselection() for index in indexs: # 取得索引值 print(lb.get(index)) # 打印所选的项目 print(indexs) fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_14") # 窗口标题 root.geometry("300x250") # 窗口宽300高210 lb = Listbox(root,selectmode=MULTIPLE) for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.pack(pady=5) btn = Button(root,text="Print",command=callback) btn.pack(pady=5) root.mainloop()ch12_15.py
# ch12_15.py from tkinter import * def callback(): # 打印所选的项目 print(lb.selection_includes(3)) # 打印所选的项目 fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_15") # 窗口标题 root.geometry("300x250") # 窗口宽300高210 lb = Listbox(root,selectmode=MULTIPLE) for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.pack(pady=5) btn = Button(root,text="Check",command=callback) btn.pack(pady=5) root.mainloop()ch12_16_1.py
# ch12_16_1.py from tkinter import * def itemSelected(event): # 列出所选单一项目 index = lb.curselection() # 取得索引 var.set(lb.get(index)) # 设置标签内容 fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_16") # 窗口标题 root.geometry("300x250") # 窗口宽300高210 var = StringVar() # var.set("cxq123") lab = Label(root,text="",textvariable=var,bg="yellow") lab.pack(pady=5) lb = Listbox(root) for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.bind("<<ListboxSelect>>",itemSelected) # 绑定 lb.pack(pady=5) root.mainloop()ch12_16.py
# ch12_16.py from tkinter import * def itemSelected(event): # 列出所选单一项目 obj = event.widget # 取得事件的对象,即Listbox控件对象 index = obj.curselection() # 取得索引 print(index) print(type(obj.get(index))) print(obj.get(index)) var.set(obj.get(index)) # 设置标签内容 fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_16") # 窗口标题 root.geometry("300x250") # 窗口宽300高210 var = StringVar() # var.set("cxq123") lab = Label(root,text="",textvariable=var) lab.pack(pady=5) lb = Listbox(root) for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.bind("<<ListboxSelect>>",itemSelected) # 绑定 lb.pack(pady=5) root.mainloop()ch12_17.py
# ch12_17.py from tkinter import * def itemSelected(event): # 列出所选单一项目 obj = event.widget # 取得事件的对象,即Listbox控件对象 index = obj.curselection() # 取得索引 print(index) print(type(obj.get(index))) print(obj.get(index)) var.set(obj.get(index)) # 设置标签内容 fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_17") # 窗口标题 root.geometry("300x250") # 窗口宽300高210 var = StringVar() # var.set("cxq123") lab = Label(root,text="",textvariable=var) lab.pack(pady=5) lb = Listbox(root) for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.bind("<Double-Button-1>",itemSelected) # 绑定 lb.pack(pady=5) root.mainloop()ch12_18.py
# ch12_18.py from tkinter import * def itemSelected(event): # 列出所选单一项目 obj = event.widget # 取得事件的对象,即Listbox控件对象 indexs = obj.curselection() # 取得索引 # print(index) # print(type(obj.get(index))) # print(obj.get(index)) # var.set(obj.get(index)) # 设置标签内容 for index in indexs: print(obj.get(index)) print("-------------") fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_18") # 窗口标题 root.geometry("300x250") # 窗口宽300高210 var = StringVar() # var.set("cxq123") lab = Label(root,text="",textvariable=var) lab.pack(pady=5) lb = Listbox(root,selectmode=EXTENDED) for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.bind("<<ListboxSelect>>",itemSelected) # 绑定 lb.pack(pady=5) root.mainloop()ch12_19.py
# ch12_19.py from tkinter import * def itemAdded(): varAdd = entry.get() if (len(varAdd.strip()) == 0): return lb.insert(END,varAdd) entry.delete(0,END) def itemDeleted(): index = lb.curselection() if (len(index)==0): return lb.delete(index) root = Tk() root.title("ch12_19") # 窗口标题 # root.geometry("300x250") # 窗口宽300高210 entry = Entry(root) entry.grid(row=0,column=0,padx=5,pady=5) # 建立“增加”按钮 btnAdd = Button(root,text="增加",width=10,command=itemAdded) btnAdd.grid(row=0,column=1,padx=5,pady=5) # 建立Listbox lb = Listbox(root) lb.grid(row=1,column=0,columnspan=2,padx=5,sticky=W) # 建立“删除”按钮 btnDel = Button(root,text="删除",width=10,command=itemDeleted) btnDel.grid(row=2,column=0,padx=5,pady=5,sticky=W) root.mainloop()ch12_20.py
# ch12_20.py from tkinter import * def itemsSorted(): if (var.get() == True): revBool = True else: revBool = False listTmp = list(lb.get(0,END)) sortedList = sorted(listTmp,reverse=revBool) lb.delete(0,END) for item in sortedList: lb.insert(END,item) fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_20") # 窗口标题 # root.geometry("300x250") # 窗口宽300高210 lb = Listbox(root) # 建立Listbox for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.pack(padx=10,pady=5) # 建立“排序”按钮 btn = Button(root,text="排序",command=itemsSorted) btn.pack(side=LEFT,padx=10,pady=5) # 建立排序设置复选框 var = BooleanVar() cb = Checkbutton(root,text="从大到小排序",variable=var) cb.pack(side=LEFT) root.mainloop()ch12_21.py
# ch12_21.py from tkinter import * def getIndex(event): # 处理单击选项 lb.index = lb.nearest(event.y) # 目前选项的索引 cnt = 0 def dragJob(event): newIndex = lb.nearest(event.y) global cnt cnt += 1 print("**********************",cnt) if newIndex < lb.index: x = lb.get(newIndex) lb.delete(newIndex) lb.insert(newIndex+1,x) lb.index = newIndex print("上调成功...") elif newIndex > lb.index: x = lb.get(newIndex) lb.delete(newIndex) lb.insert(newIndex-1,x) lb.index = newIndex print("下调成功...") fruits = [ "Banana","Watermelon","Pineapple", "Orange","Grapes","Mango" ] root = Tk() root.title("ch12_21") # 窗口标题 # root.geometry("300x250") # 窗口宽300高210 lb = Listbox(root) # 建立Listbox for fruit in fruits: # 建立水果项目 lb.insert(END,fruit) lb.bind("<Button-1>",getIndex) lb.bind("<B1-Motion>",dragJob) lb.pack(padx=10,pady=10) root.mainloop()ch12_22.py
# ch12_22.py from tkinter import * root = Tk() root.title("ch12_22") # 窗口标题 scrollbar = Scrollbar(root) # 创建滚动条 scrollbar.pack(side=RIGHT,fill=Y) # 创建Listbox,yscrollcommand指向scrollbar.set方法 lb = Listbox(root,yscrollcommand=scrollbar.set) # 建立Listbox for i in range(50): lb.insert(END,"Line " + str(i)) lb.pack(side=LEFT,fill=BOTH,expand=True) scrollbar.config(command=lb.yview) root.mainloop()