我的编程空间,编程开发者的网络收藏夹
学习永远不晚

实现Python图形界面框架TkInter写GUI界面应用简介过程操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

实现Python图形界面框架TkInter写GUI界面应用简介过程操作

前言

它的底层是Tcl/Tk,先用起来再说,另外Python毕竟是面向对象语言,所以全文会使用到class和对象,尽量日后能满足开发项目的需求。

(备注:Tcl/Tk 是一种简明,高效,可移植性好的编程语言。在信息产业领域具有广泛的应用。)

Hello World

从Hello World写起,涉及到一个简单的文本控件Label,当然控件需要显示的容器,此处我们将其显示在一个Window上,也会使用一种布局方式pack()


import tkinter as tk
class RootWindow(tk.Tk):
def __init__(self, **kwargs):
super().__init__(**kwargs)
label = tk.Label(self, text="Hello World", padx=10, pady=10)  # 默认容器为window
label.pack()  # 默认side=tk.TOP
 
if __name__ == "__main__":
my_window = RootWindow()
my_window.mainloop()

1、首先导入tkinter模块(一个python包模块对象),然后使用别名tk,这是为了少写几个字符而已,你也可以不使用别名功能

2、创建RootWindow类,此类必须继承tkinter模块下的Tk类,Tk类产生的对象,表示GUI中的一个Window

3、主模块作为脚本执行时,创建RootWindow对象(Tk类的子类对象,表示is a Tk对象),接着调用Tk对象的mainloop()方法,让主线程一直在事件循环中,确保程序不退出,此时的GUI应用才会一直运行

Window的实际效果

Hello World的文本位于一个叫做Label的控件中,Label控件类位于tkinter包中,它是Widget的子类,产生的每个对象表示一个文本控件,在创建Label对象时,必须传入一个容器对象,表示这个控件依附在哪个容器中,几乎所有前端技术都会涉及到的技术点,就是控件树的概念(页面都是树形结构)

另外调用了Label的pack()方法的使用,这个pack()方法表示布局方式,也称作布局管理器,它只能水平或者垂直的摆放控件,类似于Android中的LinearLayout,现在使用tkinter肯定会嵌套使用布局方式,这样才能做出复杂的GUI应用!

窗口

tkinter中根Window使用tkinter包模块下的Tk对象,而子Window,则可以使用tkinter包模块下的Toplevel

控件

自带了很多控件类,它们几乎都是Widget的子类,使用时,只需要创建控件对象即可,后面我们会详细介绍每一种控件,这里简单提及Label、Button、ListBox、Radiobutton等等

容器

如果需要将多个控件组合在一起作为一个整体,那么tkinter包模块下的Frame就可以作为它们的容器,在实际项目中,我们会大量的使用Frame去组合控件,其实Frame也算做控件,只不过它的作用是包含其他控件而已。(备注:LabelFrame也是容器类,用于包含控件)

布局方式

除了Hello World中提及的pack()方式、还有常用的grid()、place(),它们也被称作布局管理器,专门管理控件如何摆放的,日后我们的代码里会经常用到布局方式,还有Panedwindows的使用

双向绑定的数据对象

它们全部是作为位于tkinter包模块下的Variable类的子类而存在,包括IntVar、StringVar、BooleanVar、还有一个单独的Var,它们可以和某个控件绑定在一起,实现双向绑定:当改变控件的值、对应的Var值会改变;当改变Var值,控件上的显示也会跟着改变

事件绑定类型

控件可以绑定一些事件,这些事件类型包括一些常见的交互行为,只要事件发生,为控件绑定的可调用对象,即会被调用,常见的事件有:

KeyPress 键盘的按键被按下时激活KeyRelease 键盘的按键按下后松开时激活Button 点击鼠标时激活ButtonRelease 点击鼠标后松开时激活Motion 鼠标的光标在控件上移动时激活Enter 鼠标光标进入控件时激活Leave 鼠标光标离开控件时激活MouseWheel 鼠标滑轮滚动时激活FocusIn 控件获得焦点时激活,例如鼠标点击输入控件开始进行输出FocusOut 控件失去焦点时激活,例如鼠标离开了输入框Configure 控件的配置发生改变,例如大小变化时激活

提示对话框

GUI应用中,对话框用于提示人类错误,或者询问一些基本信息,tkinter框架中自带了几个对话框供你使用,它们位于tkinter包中的messagebox模块中

文件对话框

选择本地文件路径的对话框,位于tkinter包中的filedialog模块中,即有选择目录的,也有选择文件的,后面我们每个都使用一下

图片

使用PhotoImage对象,只要指定了图片文件的路径,即可在应用上显示图片,默认指定文件名时,只会在当前工作目录下查找图片

画板

Canvas的支持,可以使用通过代码绘制一些简单的图形,另外也可以和matplotlib数据可视化库结合起来使用

ttk模块

大佬注意到tkinter模块的使用中,有一些基本需求,控件功能上满足的不够好,所以又提供了一个ttk模块,在ttk模块中提供了很多控件类,这些类有新的默认样式,当然是可以替代原先tkinter下控件类,下面有很多控件

持久化

我们还有一些需要在程序结束后,仍然保留在磁盘里的方式,这就是数据持久化,可以使用标准库中的所有方式,如果是简单的应用配置信息,使用configparser模块即可满足需求……

单元测试

位于tkinter包模块下,有个test包,非常值得学习,大佬是怎么做单元测试的?

设计

做GUI应用,还是需要提前设计原型的,那么采用什么工具设计原型图比较好呢?随便你采用什么方式画出来即可

做出多复杂的应用?

无非开发成本高一些,只要有心,我相信使用tkinter照样可以做出像样的GUI应用!

以上就是实现Python图形界面框架TkInter写GUI应用简介过程操作的详细内容,更多关于Python图形界面框架TkInter的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

实现Python图形界面框架TkInter写GUI界面应用简介过程操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录