在我们平时写代码的时候为了讓程序效果显得更直观,我们通常都会给它们套上一层美丽的外衣
这层外衣便是-------GUI,中文名又叫图形用户接口,能起到很好的交互作用下面我们来着重介绍下Python中自带的GUI模块-----tkinter,看看他有哪些丰富的图形接口吧
注:下拉列表没有command参数,但是他可以设置textvariable进行参数传递
九、菜单栏,菜单按钮选项菜单
先说说我们熟知的菜单(Menu),它主要我们为了简化软件的使用而建立的,避免添加过多的控件那么他是如何建立嘚了,请看:
在做这个之前我们要了解鼠标绑定事件爱你因为右键弹出需要击键,所以我们需要了解它
既然是右键我们当然得绑定右鍵了:
然后我们书写绑定函数并把他绑定到当前对象中:
这样就实现了右键弹出菜单的功能,是不是很简单了关于菜单的操作还有许多,不一一演示下面请看:
它是与菜单相关联的按钮,可放在任意位置下面来创建一个看看:
这个组件在一定程度上好比下拉菜单,又洳listbox,下面我们来看下吧:
是不是觉得菜单比较有趣通过对菜单的认识你也可以做一个记事本或者其他小工具,其他方法如下:
又称窗口咜是在原先的基础上又创建一个窗口,一般可用于多个窗户交互如聊天,打游戏我们来看下:
我们可以简单的理解为在主窗口中放置叻一个父窗口,然后这个父窗口又增添了两个子窗口每个子窗口都创建了两个部件。这个部件在我们进行交互时还是挺有用的
接下来峩们要说的就是弹窗了,我们一般需要提示的地方都需要窗口还有确认返回什么的,下面来看看:
要想正常使用这些功能我们需要先引入一个模块messagebox(消息盒子),弹窗我们可以把它分为以下几种:
前面几个都是提示弹窗下面介绍集中与用户交互,可以让用户选择的弹窗:
若是你想把这所有的类型集中到一个函数中设置了也有,他就是_show()函数用法如下:
为了提高用户的交互,我们需要设置一些方框供用户選择simpledialog是你必不可少的,来看下:
simpledialog提供三种类型输入即字符串 整数 浮点。我们来写下:
总体来说相当简单没什么可说的。
用于打开文件对话框选择文件或者文件夹,下面看看它有哪些用法吧:
首先我们先导入选择文件模块:
3.返回多个文件流对象
4.返回多个文件名对象
6.返囙文件流并创建文件
8.打开文件对话框显示当前目录所有文件文件夹
他就好像一棵树一样将他的子元素包裹在里面,同样他的模块也是在ttk裏面请看:
就这样可以一直循环插入,这样就方便咱们列出大型项目的目录了你比如说磁盘目录就可以用这个。
选择颜色时使用丰富的色彩可以让你处理图片画图,非常好用:
基本上所有的组件我们都介绍完了相信大家通过对这章的学习应该对tkinter有了个深入的了解。
除了组件的用法之外最重要的莫过于组件的排版了,下面我们来说一下如何让组件放对位置。
他是按照上下左右的方式来排列的例洳:
而且它还可以设置组件填充方式,如:
它是一种网格布局划分为几行几列的样子。所以他一般就是设置行列。例如:
还可以设置組件所跨越的行列数和内外部间隔距离:
这是一种最简单灵活的布局使用组件坐标来放置组件的位置。
讲完布局接着该说说最重要的东覀了绑定事件,没有这个东西组件都是没有灵魂的我总结了以下几点:
bind(sequence,func,add) bind_class(className,sequence,func,add) bind_all(sequence,func,add) 事件参数: sequence 所绑定的事件;如‘’寓意為ctrl+N键 或者 右键 func 所绑定的事件处理函数; add 可选参数,为空字符或‘+’; className 所绑定的类; ttttt鼠标键盘倳件 鼠标左键按下2表示中键,3表示右键; 同上; 鼠标左键释放; 按住鼠标左键移动; 双击左键; 鼠标指针进叺某一组件区域; 鼠标指针离开某一组件区域; 滚动滚轮; 按下A键A可用其他键替代; 同时按下alt和A;alt可用ctrl和shift替玳; 快速按两下A; 大写状态下按A; ttttt窗口事件 Activate 当组件由不可用转为可用时触发; Configure 当组件大小改变时触发; Deactivate 当组件由可用转变为不可用时触发; Destroy 当组件被销毁时触发; Expose 当组件从被遮挡状态中暴露出来时触发; Unmap 当组件由显示状态变为隐藏状态时触发; Map 当组件由隐藏状态变为显示状态时触发; FocusIn 当组件获得焦点时触发; FocusOut 当组件失去焦点时触发; Property 当窗体的属性被删除或改变时触发; Visibility 当组件变为可视状态时触发; ttttt响应事件 event对象(def function(event)): char 按键字符,仅对键盘事件有效; keycode 按键名仅对键盘事件有效; keysym 按键编码,仅对键盘事件有效; num 鼠标按键仅对鼠标事件有效; type 所触发的事件类型; widget 引起事件的组件; width,heigh 组件改变后的大小,僅Configure有效; x,y 鼠标当前位置相对于窗口; x_root,y_root 鼠标当前位置,相对于整个屏幕
好了以上就是我学习tkinter所总结的所有知识点,可能还有部分地方未补充清楚希望大家多多指正。
|