python中tkinter的使用-中
生活随笔
收集整理的這篇文章主要介紹了
python中tkinter的使用-中
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00Listbox控件
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")''' 列表框控件,可以包含一個或者多個文本框 作用:在listbox控件的小窗口顯示一個字符串''' #1、創建一個listbox,添加幾個元素,BROWSE支持按下鼠標移動位置 lb= tkinter.Listbox(win,selectmode = tkinter.BROWSE) lb.pack() for item in ["good ","nice","handesome","bs","sa","aa"]:lb.insert(tkinter.END,item)#在開始添加 # lb.insert(tkinter.ACTIVE,"COOL") #將列表當成一個元素添加的 # lb.insert(tkinter.END,["very good ","very nice"]) #刪除 參數1,為開始的索引,參數二為結束的索引,如果不指定參數二,只刪除第一個索引處的內容 # lb.delete(1,3) # lb.delete(1) #選中參數1,為開始的索引,參數二為結束的索引,如果不指定參數二,只選中第一個索引處的內容 # lb.select_set(2,4) # lb.select_set(2,) #取消選中 # lb.select_clear(2,4) # lb.select_clear(3) #獲取道列表中的元素個數 # print(lb.size()) # 6 #從列表中取值 # print(lb.get(2,4)) #('handesome', 'bs', 'sa') # print(lb.get(2)) #返回當前的索引項 # print(lb.curselection()) #(2,) #判斷一個選項是否被選中 # print(lb.selection_includes(3))#False # print(lb.selection_includes(2))#Truewin.mainloop()01Listbox控件中
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")#綁定變量 lbv =tkinter.StringVar()#與BORWSE相似,但是不支持按下鼠標移動位置 lb = tkinter.Listbox(win,selectmode = tkinter.SINGLE,listvariable=lbv) lb.pack() for item in ["good ","nice","handesome","bs","sa","aa"]:lb.insert(tkinter.END,item)#打印當前列表中的選項 print(lbv.get()) #設置選擇 # lbv.set(("1","2","3")) # print(lbv.get())#綁定事件 def myPrint(event):print(lb.curselection(),end="")#打印下標print(lb.get(lb.curselection())) lb.bind("<Double-Button-1>",myPrint,)win.mainloop()02Listbox控件種下
import tkinter#創建主窗口 win = tkinter.Tk() win.title("Liuwang") # win.geometry("400x400+200+20")#EXTENDED 可以使listbox支持shift 和 control。 #按住shift,可以實現連續選中 lb = tkinter.Listbox(win,selectmode = tkinter.EXTENDED) lb.pack() for item in ["good ","nice","handesome","bs","sa","aa","nice1","handesome1","bs1","sa1","a1a","nic21e","handeso2me","bs2","sa2","aa2"]:lb.insert(tkinter.END,item) # 創建滾動條 sc = tkinter.Scrollbar(win) sc.pack(side= tkinter.RIGHT,fill=tkinter.Y) lb.configure(yscrollcommand=sc.set) lb.pack(side= tkinter.LEFT,fill= tkinter.BOTH) # 額外給屬性賦值 sc['command'] = lb.yviewwin.mainloop()03Listbox控件下
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")# MULTIPLE支持多選 lb = tkinter.Listbox(win,selectmode = tkinter.MULTIPLE ) lb.pack() for item in ["good ","nice","handesome","bs","sa","aa"]:lb.insert(tkinter.END,item)win.mainloop()04Scale控件
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")''' 供用戶通過拖拽指示器改變變量的值,可以水平,也可以豎直 orient=tkinter.HORIZONTAL 水平 orient=tkinter.VERTICAL 豎直 tickinterval 選擇之將會為該值的倍數''' scale1 = tkinter.Scale(win,from_=0,to=100,orient=tkinter.VERTICAL,tickinterval = 20,length = 200)scale1.pack()#設置值 scale1.set(21)def showNum():print(scale1.get()) tkinter.Button(win,text ="按鈕",command = showNum).pack()win.mainloop()05Spingbox
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")''' 數值范圍控件 ''' #綁定變量 v = tkinter.StringVar()#increment 步長 默認為1 # values 最好不要與from_ = 0 ,to = 100,,increment=2同時使用 #command 只要值改變就會執行對應的方法def update():print(v.get()) sp = tkinter.Spinbox(win,from_=0,to = 100,increment=5,textvariabl=v,command = update) sp.pack()# 設置值 # v.set(20) # print(v.get())win.mainloop()06Menu頂層菜單
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")menubar = tkinter.Menu(win) win.config(menu= menubar)#menu1 #創建一個菜單選項 menu1 = tkinter.Menu(menubar,tearoff = False) menu2 = tkinter.Menu(menubar,tearoff = False) #向菜單欄添加內容 menubar.add_cascade(label="語言",menu = menu1) menubar.add_cascade(label="顏色",menu = menu2)def func():print("Hello world")#給菜單里添加內容 for item in["Python","C","C++","OS","Swift","C#","shell","Java""JS","PHP","匯編","Nodejs","退出",]:if item == "退出":menu1.add_separator() # 添加分割線menu1.add_command(label=item,command = win.quit)else:menu1.add_command(label=item,command= func)menu2.add_command(label="red") menu2.add_command(label="bule")win.mainloop()07Menu鼠標右鍵菜單
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20") #菜單條 menubar = tkinter.Menu(win)#菜單 menu = tkinter.Menu(menubar,tearoff = False) #給菜單里添加內容 for item in["Python","C","C++","OS","Swift","C#","shell","Java""JS","PHP","匯編","Nodejs","退出",]:menu.add_command(label=item) menubar.add_cascade(label = "語言",menu = menu)def showMenu(event):menubar.post(event.x_root,event.y_root) win.bind("<Button-3>",showMenu)win.mainloop()08Combobox下拉控件
import tkinter from tkinter import ttkwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20") #創建下拉框 # com = ttk.Combobox(win,) # com.pack() #設置下拉數據# #綁定變量 cv = tkinter.StringVar() com= ttk.Combobox(win,textvariable = cv ) com.pack()com["value"]= ("黑龍江","吉林","遼寧")#設置默認值 com.current(0)#綁定時間 def func(event):print("Liuwang is handsome")print(com.get())# print(cv.get()) com.bind("<<ComboboxSelected>>",func)win.mainloop()09Frame控件
import tkinterwin = tkinter.Tk() win.title("Liuwang") win.geometry("400x400+200+20")''' 框架控件 在屏幕上可以顯示一個矩形區域,多作為容器控件''' #整個窗口中創建frame frm = tkinter.Frame(win) frm.pack()#left #在frm 的框架里創建了一個frame frm_1=tkinter.Frame(frm) tkinter.Label(frm_1,text=" 左上 " ,bg ="pink").pack(side= tkinter.TOP) tkinter.Label(frm_1,text=" 左下 " ,bg ="blue").pack(side= tkinter.TOP) frm_1.pack(side= tkinter.LEFT)#RIGHT frm_2=tkinter.Frame(frm) tkinter.Label(frm_2,text=" 右上 " ,bg ="yellow").pack(side= tkinter.TOP) tkinter.Label(frm_2,text=" 右下 " ,bg ="red").pack(side= tkinter.TOP) frm_2.pack(side= tkinter.RIGHT)win.mainloop()?
?
總結
以上是生活随笔為你收集整理的python中tkinter的使用-中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在乌班图系统上安装yum
- 下一篇: 【算法竞赛入门经典(第二版)】_要点提取