1.按鈕
# 按鈕 # bg設置背景色 btn = tkinter.Button(root,text = '按鈕',bg = 'red') btn.pack() # fg設置前景色(文字顏色) btn1 = tkinter.Button(root,text = '按鈕',fg = 'blue') btn1.pack() # font設置字體大小和樣式(字體,大小,粗體,斜體等) btn2 = tkinter.Button(root,text = '按鈕',font = ('楷體',20,'italic')) btn2.pack() # 設置按鈕高度和寬度單位:字符大小(不推薦用) btn3 = tkinter.Button(root,text = '按鈕',height = 4,width = 10) btn3.pack() # 設置多行文本的對齊方式right/left btn4 = tkinter.Button(root,text = '孫悟空大\n鬧天宮',justify = 'right') btn4.pack() # state 狀態 active(激活), disabled(不能點), or normal(正常) btn5 = tkinter.Button(root,text = '按鈕',state = 'disabled') btn5.pack() # 邊框粗細 btn5 = tkinter.Button(root,text = '按鈕',bd = 5) btn5.pack()
2.復選框
# 設置文本方法1(文本不變) checkbutton = tkinter.Checkbutton(root,text = '同意此協議') checkbutton.pack() # 設置文本方法2(可變文本) # 設置顯示內容的tkinter變量 text = tkinter.StringVar() # 設置內容 text.set('同意嫁給我') checkbutton1 = tkinter.Checkbutton(root,textvariable = text) checkbutton1.pack()
# 設置復選框勾選與否的值,當勾選或者不勾選時 result會獲取一個值 result = tkinter.IntVar() # 設置操作chenckbutton的方法:根據是否勾選獲取值 def func(): print(result.get()) # onvalue = 66,offvalue = 77 勾選時值為66默認為1,不勾選時為77默認為77 checkbutton = tkinter.Checkbutton(root,text = '同意此協議',variable =result,command = func,onvalue = 66,offvalue = 77) checkbutton.pack()
3.單行文本輸入框
# 單行文本輸入框 # 創建組件 # 寬度50:表示輸入50個字符那么長/設置~背景色,前景色(輸入的文字顏色) username = tkinter.Entry(root,width = 50,bg = 'blue',fg = 'yellow') username.pack() # 密碼 # show = '*':文本框中的內容顯示為* password = tkinter.Entry(root,show = '*') password.pack() # 沒辦法往里面寫東西 test = tkinter.Entry(root,state = 'disabled') test.pack()
4.Frame布局框架
# 創建框架1 frame1 = tkinter.Frame(root,bg = 'red',width = 500,height = 100) frame1.pack(side = 'top',) # 在框架中擺放 btn1 = tkinter.Button(frame1,text = '按鈕1') btn1.pack(side = 'left') btn2 = tkinter.Button(frame1,text = '按鈕2') btn2.pack(side = 'left') btn3 = tkinter.Button(frame1,text = '按鈕3') btn3.pack(side = 'left') # 創建框架2 frame2 = tkinter.Frame(root,bg = 'blue',width = 500,height = 100) frame2.pack(side = 'top') # 在框架中擺放 btn1 = tkinter.Button(frame2,text = '按鈕1') btn1.pack(side = 'left',padx = 20) btn2 = tkinter.Button(frame2,text = '按鈕2') btn2.pack(side = 'left',padx = 20) btn3 = tkinter.Button(frame2,text = '按鈕3') btn3.pack(side = 'left',padx = 20)
一般配合pack()布局方式使用,一般很少用到。
5.LabelFrame(標簽框架)
示例:
# 創建組件 labelframe = tkinter.LabelFrame(root,text = '四大美女') labelframe.pack(ipadx = 100) # 將其他組件擺放到labelframe中 btn1 = tkinter.Button(labelframe,text = '王昭君') btn1.pack() btn2 = tkinter.Button(labelframe,text = '西施') btn2.pack() btn3 = tkinter.Button(labelframe,text = '貂蟬') btn3.pack() btn4 = tkinter.Button(labelframe,text = '楊玉環') btn4.pack()
6.Lable標簽
示例:
# 創建組件 label = tkinter.Label(root,text = '這是一個標簽!') label.pack()
7.Listbox列表菜單
示例:
# 設置listbox的內容 names = ['楊玉環','西施','貂蟬','王昭君','潘金蓮'] # 將數據轉換為tkinter的字符串變量 students = tkinter.StringVar(value=names) # 創建組件 listbox = tkinter.Listbox(root,listvariable = students) listbox.pack()
8.Menu菜單
示例:
# 1創建主菜單 bigmenu = tkinter.Menu(root) # 2創建子菜單 設置tearoff = 0,讓菜單不會飄出窗口 filemenu = tkinter.Menu(bigmenu,tearoff = 0) # 子菜單可以添加功能 filemenu.add_command(label = '打開文件') filemenu.add_command(label = '保存文件') filemenu.add_command(label = '導出文件') # 橫線分割 filemenu.add_separator() filemenu.add_command(label = '退出') # 3將子菜單加入主菜單 bigmenu.add_cascade(label = '文件',menu = filemenu) # 2創建子菜單 editmenu = tkinter.Menu(bigmenu) # 3將子菜單加入主菜單 bigmenu.add_cascade(label = '修改',menu = editmenu) # 4將主餐單加入窗口 root.config(menu = bigmenu)
9.OptionMenu設置菜單
示例:
# 創建變量接受結果 result = tkinter.StringVar() result.set('請選擇一個問題:') # 創建組件 optionmenu = tkinter.OptionMenu(root,result,'你的初戀是誰?','你的初中老師是誰?','你的高中老師是誰?') optionmenu.pack()
10.Menubutton菜單按鈕
示例:
# 創建組件 menbutton = tkinter.Menubutton(root,text = '選擇性別:') menbutton.pack() # 添加選項 # 設置變量 sex = tkinter.StringVar() # tearoff = 0 取消菜單飄出 menu = tkinter.Menu(menbutton,tearoff = 0) menu.add_radiobutton(label = '男',variable = sex) menu.add_radiobutton(label = '女',variable = sex) # 將菜單配置到組件 menbutton.config(menu = menu)
11.PanedWindow划分窗口
示例:
# 創建組件 垂直擺放:vertical 水平擺放:horizontal panedwindow = tkinter.PanedWindow(root,orient = 'horizontal') # 添加組件 btn1 = tkinter.Button(panedwindow,text = '按鈕1123412341234') btn2 = tkinter.Button(panedwindow,text = '按鈕2') # 擺放組件 panedwindow.add(btn1) panedwindow.add(btn2) # 填滿整個界面 panedwindow.pack(fill = 'both',expand = 'yes')
12.Radiobutton單選按鈕
示例:
# 創建組件 sex = tkinter.StringVar()# 設置變量 radio1 = tkinter.Radiobutton(root,text = '男',variable = sex,value = 'man') radio1.pack() radio2 = tkinter.Radiobutton(root,text = '女',variable = sex,value = 'woman') # 默認選中'女' radio2.select() radio2.pack()
13.Scale滑動條
示例:
# 創建組件 默認豎着,設置橫向:orient = tkinter.HORIZONTAL 設置數值:from_ = 50,to = 80 設置單位:resolution = 0.5 scale = tkinter.Scale(root,orient = tkinter.HORIZONTAL,from_ = 50,to = 80,resolution = 0.5) scale.pack()
14.Scrollbar滾動條
示例:
# 創建組件:簡單的滾動條效果 scroll = tkinter.Scrollbar(root) scroll.pack(fill = 'y',side = 'right')
15.Spinbox類型限制輸入框(數字)
示例:
# 創建組件 設置范圍:from_ = 0,to = 100 設置增加單位:increment = 0.5 spinbox = tkinter.Spinbox(root,from_ = '0',to = '100',increment = 0.5) spinbox.pack()
16.Text多行文本輸入框
示例:
# 創建組件 text = tkinter.Text(root,width = 50,height = 10) text.pack() # 設置值:從第0行第0列開始插入文本 text.insert('0.0','你好啊~小姐姐')
17.Toplevel彈出窗口
示例:
# 函數 def talk(): # 新窗口 newroot = tkinter.Toplevel() # 創建組件:彈出新窗口 點擊按鈕執行函數:command = talk btn = tkinter.Button(root,text = '點擊開始對話~',command = talk) btn.pack()