python:tkinter基础操作

编程入门 行业动态 更新时间:2024-10-27 17:16:37

python:tkinter基础<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作"/>

python:tkinter基础操作

Tkinter库:
使用Tkinte库,导入----- import tkinterfrom tkinter import *()少用1.窗口底层创建,只创建一个root = tkinter.Tk()
(非必须)2.设置窗口的属性:titlegeometry --- 大小参数设置方式geometry("600x600+100+100")600x600  :表示窗口大小  +100+100 表示其位置3.设置窗口,运行起来生效root.mainloop()要实现的功能代码写在这之前
A.tkinter中的组件:Button   按钮组件Checkbutton  按钮选择组件----点击按钮可进行切换值Label   -----文本(更多使用)、图像Listbox  ----列表框,选择框Menu  菜单面板:用于实现下拉菜单Scale  拖拽组件,可实现变量值设置Scrollbar  滚动条Text  格式化文本进行显示Spinbox   数值范围控制,从范围中或者集合中选择值Frame  创建一个容器,通常将其他组件置放在容器中进行布局设置
B.组件使用:创建组件:eg:label_01 = tkinter.Label(root,text="xxxx")root是第一个参数,声明此组件是创建在root窗口中,text是其内容使用pack()函数:label_01.pack() 对组件进行布局操作(另有place和grid布局方式)C.Menu菜单:(此菜单类似于打开的记事本顶层的导航栏中的各项实现)创建总菜单栏menuBar =tkinter.Menu(root)写下拉菜单的列表(添加项):在menuBar中创建menu_01menu_01 = tkinter.Menu(menuBar,tearoff=0)给当前菜单列表添加普通项,名给New,点击是触发函数funcmenu_01.add_command(label="New",command=func)给当前总菜单创建子项,名为File,menu_01为添加对象menuBar.add_cascade(label="File",menu=menu_01)菜单项添加分割线:menu_01.add_separator()鼠标(左)右键菜单:(鼠标在界面任意处点击右键都触发)绑定鼠标事件:root.bind("<Button-3>",showMenu)   -->绑定在顶层窗口(整个界面)def showMenu(event):menuBar.post(event.x_root,event.y_root)post()函数引导menuBar出现至当前单击处的坐标位置
D.Frame控件:框架 --> 作为容器控件创建:frame_01 = tkinter.Frame(root)# 往控件中添加label组件frm_01 = tkinter.Frame(frame_01)tkinter.Label(frm_01,text="左上",bg="pink").pack(side=tkinter.TOP)tkinter.Label(frm_l, text="我在左下", bg="red").pack(side=tkinter.TOP)frm_l.pack(side=tkinter.LEFT)
E.选项框:单选框:每一组 Radiobutton组件应该只与一个变量相关联,然后每一个按钮表示该变量的单一值设置按钮的状态  ---> radioCheck = tkinter.IntVar() ,此处使用了IntVar,使用哪一类则是根据value的值的类型但需要获取选择的选项信息时,直接通过radiocheck进行获取radio_01 = tkinter.Radiobutton(root,text="xxx",value= ,variable=radioCheck,command=func)radio_01.pack()复选框:使用Checkbutton,必须创建一个Tkinter变量用于存放按钮的状态item_01 = tkinter.BooleanVar()check_01 = tkinter.Checkbutton(root,text="xxx",variable=item_01,command=func)check_01.pack()同单选框相同的是:获取已选选项的信息是通过存放按钮的tkinter变量来获取,此处是item_01不同的是:复选框的每个选项都需要一个存放按钮的状态,此处使用的是BooleanF.listBox控件:(列表框,显示列表)创建ListBox:listb = tkinter.Listbox(root,selectmode=tkinter.BROWSE)listb.pack()selectmode参数:BROWSE;通常,只能从列表框中选择一行。如果单击一个项目,然后拖动到不同的行,选择将会跟随鼠标,是默认的。EXTENDED:一次选择任何相邻的选项,单击第一行并拖到最后一行。能拖动SINGLE:只可以选择一行,不可以拖动MULTIPLE:可以同时选择任意数量的行。点击在任意直线上,无论它是否被选中。不能拖动。
G.Scale、SpinBox控件:Scale创建:scale_01 = tkinter.Scale(root,from_= ,to= ,orient=tkinter.VERTICAL)from_:起始值; to:最大值orient:拖拽组件的方向放置 --> VERTICAL,HORIZONTAL其他属性:tickinterval:取值单位大小;  length:拖拽组件的长度设置拖拽初始的值:scale_01.set(33)spinBox创建:数值范围控制(选择):[increment]---步长[values]----选择性数值from_= ,to= ,数值区域限制textvariable ----设置初值数据v=tkinter.StringVar()spin_01 = tkinter.Spinbox(root,from_= ,to= ,increment= ,textvariable=v,command=func)spin_01.pack()H.Combobox(下拉控件):创建下拉菜单cmb_01 = ttk.Combobox(root)cmb_01.pack()设置下拉菜单中数据的值cmb_01['value'] = ('xxx','xxx','xxx')设置下拉框的初始默认值,默认是从0开始cmd_01.current(2)事件绑定cmb_01.bind("<<ComboboxSelected>>",func)I.布局:a.相对布局:使用pack()函数label_01 = tkinter.Label(root,text="hhjj",bg="blue")label_01.pack(fill=tkinter.X,side=tkinter.LEFT)此布局是相对此组件所创建时的父组件进行定位b.绝对布局:使用place()函数label_01.place(x=200,y=222)第一个参数x为x轴,y为y轴;此布局是相对整个界面进行布局c.表格布局:grid()函数label_01.grid(row=1,column=0)按照行列布局
J.特殊按键事件的响应:设置焦点:(在哪个组件内可使用)label_01.focus_set()label_01.pack()绑定事件:def func(event):print("event.char=", event.char)print("***************")print("event.keycode = ", event.keycode)label_01.bind("<Contrl-a>",func)'''Key  -> 响应键盘按下事件Shift_L  ->响应左ShiftShift_R  ->响应右ShiftF5Return  ->回车BackSpace  ->退格'''K.鼠标事件:通过bind()函数进行绑定组件:1.鼠标左键:<Button-1><Double-Button-1>2.鼠标右键:<Button-3><Double-Button-3>3.鼠标中键:<Button-2>----4.鼠标三击:<Triple-Button>5.鼠标移动事件:a.按住左键移动鼠标焦点:<B1-Motion><B2-Motion><B3-Motion>b.鼠标释放:当鼠标点击之后松开触发<ButtonRelease-1><ButtonRelease-2><ButtonRelease-3>c.鼠标进入与离开:<Enter><Leave>使用鼠标事件:通过绑定组件进行操作:def func(event):print("你点击了鼠标左键")eg:label_01.bind("<Button-1>",func)L.数据展示:表格数据;创建:tree = ttk.Treeview(root)tree.pack()添加列:tree["columns"]=('name','age','weight',....)列属性设置,列不显示:tree.column("name",width=50)......表头设置:tree.heading("name",text="姓名(name)")......数据添加:0为列的下标,第0行""  ---->表示根结点tree.insert("",0,text="line1",values=("李磊","15","160","80"))树状数据:一级树枝:"":表示根结点  0:插入在第一行  "CHINA":表示id  values表示为隐藏的值treeF1 = tree.insert("", 0, "CHINA", text="中国", values=("F1"))二级树枝:F1_1 = tree.insert(treeF1, 0, "江西", text="中国江西", values=("F1_1"))三级树枝:F1_1_1 = tree.insert(F1_1, 0, "赣州", text="江西赣州", values=("F1_1_1"))四级......

更多推荐

python:tkinter基础操作

本文发布于:2024-02-10 19:46:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676963.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   基础   python   tkinter

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!