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()