0

    15. python GUI编程之Tkinter详细讲解二

    2024.02.08 | admin | 131次围观

      Tkinter详细讲解一内容回顾:GUI编程概述tkinter整体描述主窗口和布局管理器

      文章目录: 4. 组件用法4.1 文本输入和输出相关控件4.2 按钮组件4.3 列表框与组合框4.4 Menu 菜单4.5 特殊菜单4.6 移动类控制组件4.7 子窗体4.8 Modal 模式对话框组件是在在根窗体上呈现的可视化的部分,通常包括等共同属性。但不同的组件由于形状和功能不同,又有其特征属性。常见的控件共同属性如下表:属性说明取值anchor文本起始位置CENTER(默认),E,S,W,N,NE,SE,SW,NWbg背景色无bd加粗(默认 2 像素) 无bitmap黑白二值图标无cursor鼠标悬停光标无font字无fg前景色无height高(文本控件的单位为行,不是像素)无width宽(文本控件的单位为行,不是像素) 无image显示图像无justify多行文本的对其方式CENTER(默认),LEFT,RIGHT,TOP,BOTTOMpadx水平扩展像素无pady垂直扩展像素无relief3D浮雕样式FLAT(平的)、RAISED(凸起的)、SUNKEN(凹陷的)、GROOVE(沟槽状边缘)和 RIDGE(脊状边缘)state控件实例状态是否可用NORMAL(默认),DISABLED对组件各属性赋值方法:作用 :显示信息,示例代码及界面展示:

      展示的文本若是变化值,处理方法有两种: configure()方法textvariable变量属性

      使用两种方法实现电子时钟代码如下:

      Message和Lable的其属性和用法基本一致,都用于呈现文本信息,不同之处为Lable展示的为横排文字,而Messagea为竖排文字用上述代码调用Meassage,届面展示如下:

      用来的控件,如果用户输入的文字长度长于Entry 控件的宽度时, 文字会自动向后滚动通过Entry制作一个登录界面:

      (多行文本框)的主要用于,还可以显示网页链接, 图片, HTML 页面,甚至CSS 样式表,添加组件等。因此,也常被当做简单的文本处理器、文本编辑器或者网页浏览器来使用。特有属性方法:方法功能delete(起始位置,[,终止位置])删除指定区域文本,起始位置 index = 1.0(特别注意)get(起始位置,[,终止位置])获取指定区域文本insert(位置,[,字符串]...)将文本插入到指定位置see(位置)在指定位置是否可见文本,返回布尔值index(标记)返回标记所在的行和列mark_names()返回所有标记名称mark_set(标记,位置)在指定位置设置标记mark_unset(标记)去除标记用方法记录当前时间并写入文本中:

       : 响应鼠标单击事件的触发 除控件共有属性外,属性用于绑定执行函数,此外按钮的状态有:三种 绑定执行函数的方法有两种: 直接调用函数:,函数名不加,不能传递参数匿名函数调用函数和传递参数:

      实例 : 需求 :从两个输入框去的输入文本后转为整数进行,要求每次单击按钮将中并将2.按钮用直接调用函数方法实现,按钮匿名函数调用函数和传递参数

       是为了响应互相排斥的若干单选项的单击事件除具有共有属性外,还具有、、、等重要属性 响应函数 的用法与Button相同返回变量 通常应预先声明变量的类型在所调用的函数中方可用方法获取被选中实例的value值

      实例:

       是可以返回多个选项值的交互组件,通常不直接触发函数的执行和Radiobutton 的属性方法相同此外,复选框实例还可分别利用 、和 方法对其进行选中、清除选中和反选操作

       提供可以单选或多选的条目文本内容组件拥有方法如下,调用格式:方法功能描述curselection()返回光标选中项目编号的元组,注意并不是单个的整数delete(起始位置,终止位置)删除项目,终止位置可省略,全部清空为delete(0,END)get(起始位置,终止位)返回范围所含项目文本的元组,终止位置可忽略insert(位置,项目元素)插入项目元素(若有多项,可用列表或元组类型赋值),若位置为END,则将项目元素添加在最后size()返回列表框行数示例代码及界面如下:

       :带文本框的,将列表类型数据可视化呈现,并提供用户单选或多选的所列条目 该组件不包含在 tkinter 模块中,而是与 等一同包含在tkinter 的子模块中。使用前应先 导入子模块,然后创建组合框实例: 示例代码及界面如下:

      菜单可以分为主菜单和快捷键菜单 :位于GUI程序上方:通过鼠标右键单击某个组件对象而弹出的菜单

    15. python GUI编程之Tkinter详细讲解二

      创建步骤及方法如下:创建主菜单栏对象

      创建菜单,并添加到主菜单栏对象 :

      添加菜单项到2 步中的菜单

      将主菜单栏添加到根窗口

      示例代码及界面显示:

       :又称快捷菜单,通过鼠标右键单击组件而弹出的菜单,一般是和这个组件相关的操作,比如:剪切、复制、粘贴、属性等

      创建快捷菜单步骤如下:创建菜单

      绑定鼠标右键单击事件

      快捷菜单示例及界面显示:

       :选择菜单,事实上是一种下拉菜单,用来做多选一,选中的项在顶部显示用法十分简单,示例代码及界面如下:

      为一个绑定一个变成一个,可以放在窗口中的任意位置,并且在被按下时弹出下拉菜单实际上就是按钮,拥有按钮的所有属性方法,示例代码及界面如下:

      :用于在指定的数值区间,通过滑块的移动来选择值滑块拥有的属性如下:属性属性描述from_起始值(最小可取值)lable标签文字,默认为无length滑块控件实例宽(水平方向)或 高(垂直方向),默认为100像素orient滑块控件实例呈现方向,VERTCAL或HORIZONTAL(默认)repeatdelay鼠标响应延时,默认为 300msresolution分辨精度,即最小值间隔sliderlength滑块宽度,默认为30 像素state状态,若设置 state=DISABLED,则滑块控件实例不可用tickinterval标尺间隔,默认为0,若设置过小,则会重叠to终止值(最大可取值)variable返回数值类型,可为IntVar(整数)、DoubleVar(浮点数)、或 StringVar(字符串)width控件实例本身的宽度,默认为15像素command绑定固定函数,该函数的输入参数为滑块的值滑块方法: :取出滑块中的值 :将滑块设在某特定值上可绑定鼠标左键释放事件 并在执行函数中添加参数来实现事件响应

      示例代码及界面如下:

      在限定内容(一般时是数字)中需要的内容,和Entry 组件的用法作用一样属性方法如下:属性含义buttonbackground设置调节箭头的背景颜色buttoncursor指定当鼠标在调节箭头上方的鼠标样式buttondownrelief指定向下调节箭头的样式, 默认值是 RAISED,可设置为 FLAT,SUNKEN,GROOVE 和 RIDGEbuttonup指定向上调节箭头的样式cursor指定当鼠标在 Spinbox 上飘过的时候的鼠标样式formatformat='%10.4f' 表示显示的数值占 10 位,小数点后保留 4 位from_该选项和 to 选项共同指定一个范围的数值increment选项设置每次点击调节箭头递增(递减)的精度方法说明bbox(index)返回一个 4 元组(x1, y1, x2, y2)用于描述输入框中 index 参数指定的字符所在的矩形范围delete(first, last=None)删除参数 first 到 last 范围内(包含 first 和 last)的所有内容get()返回 Spinbox 当前的值icursor(index)将光标移动到 index 参数指定的位置identify(x, y)返回给定坐标(x, y)在 Spinbox 中对应的元素名字index(index)返回与 index 参数相应的选项的序号insert(index, text)将 text 参数的内容插入到 index 参数指定的位置 ,INSERT:光标的位置,END,输入框的末尾selection_clear()取消选中状态selection_element(element=None)该方法用于“设置”或“获取”选择范围示例代码及界面如下:

      (滚动条)组件用于,根据方向可分为垂直滚动条和水平滚动条,常被用于实现文本、画布和列表框的滚动 -示例代码及界面如下:

      (画布)组件是用来绘制图形和图表,创建图形编辑器,实现各种自定义的小部件的组件Canvas 组件绘制对象方法: line(线)rectangle(矩形)arc(弧形、弦或扇形)polygon(多边形)oval(圆或椭圆形)bitmap(内建的位图文件或 XBM 格式的文件)image(BitmapImage 或 PhotoImage 的实例对象)text(文本)window(组件)

      示例代码及界面如下:

      Toplevel用来新建一个显示子窗体,该窗口和主窗口类似,使用方法也和主窗口一样如下在主窗口的菜单中绑定方法,创建一个顶级窗口的示例:大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

      Frame(框架)组件是在屏幕上的一个矩形区域 ,作为其他组件的框架基础,或为其他组件提供间距填充

      LabelFrame 组件是 Frame 组件的变体, 会在其子组件的周围绘制一个边框以及一个标题用于为组件分组,先创建一个 LabelFrame,然后像往常一样将子组件添加进去;LabelFrame 组件会自动绘制一个边框将子组件包围起来,并在它们上方显示一个文本标题

      PanedWindow 组件会为每一个子组件生成一个独立地窗格,用户可以自由调整窗格的大小常用的方法:方法含义add(child, **options)添加一个新的子组件到窗格中forget(child)删除一个子组件paneconfig(child, **options)设置子组件的各种选项

      模式对话框相对于非窗口而言,所弹出的对话框必须应答,在关闭之前无法操作其后面的其他窗体该模块在 包,使用需要提前引用该模块 -通过消息对话框函数,可弹出模式消息对话框,并根据用户的响应返回一个布尔值 其通式为:方法含义askokcancel()显示确定取消,确定返回true,取消返回falseaskyesno()显示是否,是(Y)返回true,否(N)返回falseaskretrycancel()显示重试(R)取消, 重试(R)返回true,否(N)返回falseaskyesnocancel()显示是否取消,是返回true,否取消返回falseaskquestion()显示是否,是(Y)返回true,否(N)返回falseshowerror()错误提示弹窗,点击确定退出返回Trueshowinfo()通知提示弹窗,点击确定退出返回Trueshowwarning()警告提示弹窗,点击确定退出返回True

      位于包中弹出输入对话框,用以接收用户的简单输入,并返回用户的输入内容方法说明askstring()接收字符串askinteger()接收字符串、整数askfloat()接收浮点数

      位于 包中,弹出文件选择对话框,让用户直观地选择一个或一组文件,以供进一步的文件操作。函数说明askopenfilename()选择打开一个文件,返回包含文件路径的字符串askopenfilenames()选择打开多个文件,返回包含文件路径的字符串的元组askopenfile()返回打开文件对象askopenfiles()返回打开的文件对象的列表askdirectory()目录对话框,返回目录名asksaveasfilename()选择一个报文文件的文件夹,设置文件名,返回报文文件的路径asksaveasfile()返回保存的文件对象属性说明defaultextension默认后缀:.xxx,用户没有输入则自动添加filetypes=[(label1,pattern1),(labe2,pattern2)]文件显示过滤器initialdir初始目录initialfile初始文件parent父窗口,默认根窗口title窗口标题

      位于 包中函数弹出模式颜色选择对话框,让用户可以个性化地设置颜色属性,该函数的返回形式为,通常,可将其转换为字符串类型后,再截取以十六进制数表示的RGB颜色字符串用于为属性赋值

      

      感谢阅读 更多干货知识搜索 :嵌入式软件开发园 !!!

    版权声明

    本文仅代表作者观点,不代表xx立场。
    本文系作者授权xxx发表,未经许可,不得转载。

    发表评论