Python 的 GUI 工具包有很多,之前的 EasyGUI 就是其中最简单的一个。但是 EasyGUI 实在是太简单了,因此只适合作为 GUI 编程的敲门砖。

而与 EasyGUI 不同,这次要介绍的 Tkinter 是 Python 的标准 GUI 库,Tkinter(Tk + interface)实际上是建立在 Tk 技术上的。Tk 技术最初是为 TCL 设计的,TCL 是一门有名的工具命令语言。但是由于可移植性和灵活性非常高,加上非常容易使用,因此被移植到许多脚本语言里,包括 Perl、Ruby 和 Python。

Tkinter 是 Python 的默认 GUI 库,像 IDLE 就是使用 Tkinter 设计出来的,因此我们只需要在 IDLE 里导入 Tkinter 就可以使用了。

下面是一个简单 GUI 程序

import tkinter as tk#实例化一个Tk,用于容纳整个工艺程序
app = tk.Tk()  #Tk类生成了一个顶层窗口的实例app。是top level级别的一个窗口,也是root窗口#设置它的标题栏
app.title("My first python GUI code programmed with Tkinter")    #设置窗口的标题,IDLE的标题就是文件的路径#设置Label组件,Label组件是最常用的组件之一。可以用于显示文本图标图片
theLabel = tk.Label(app, text='我的第一个窗口程序')  #Label()是一个组件,组件实例化以后成为一个组件对象,赋值到一个变量里面去
theLabel.pack()  #pack()方法用于自动调节组件自身的尺寸以及位置
#执行到这里,窗口还不会显示,必须执行下一句app.mainloop()   #mainloop()是窗口的主事件循环,一般是放在整个工艺程序的最后一行,因为进入主事件循环后,就由Tkinter接管一切
#在界面编程里有这样一句名言:Don't call me, I'll call you。意思是一旦进入主事件循环,就不由我们写的代码做主了,而是由工艺程序来响应用户的输入。比如说用户点击一个按钮,Tkinter感受到这个按钮被点到了,就会调用我们为这个按钮安排好的方法,是由Tkinter调用我们的函数。

通常我们要写一个比较大的程序,应该把代码封装起来。在面向对象的编程语言里就是封装成类。

下面是一个进阶版的,把 GUI 封装成类:

import tkinter as tkclass APP:def __init__(self, master):frame = tk.Frame(master)  #Frame框架是放在顶层窗口里的。框架一般用于在复杂的布局里面将这些组件分组的(编者话:不知道是不是和Java里面的Panel起到同样的作用)frame.pack(side=tk.LEFT, padx=10, pady=10) #side共有四个参数:Right,LEFT,TOP,BOTTOM#padx, pady设置框架距离顶层窗口x轴,y轴的距离#注意要加上command参数,参数值为函数名。当按钮被按下时,就会调用该方法self.hi_there = tk.Button(frame, text='打招呼', bg='black', fg='blue', command=self.say_hi)  #创建一个按钮组件,放在Frame框架里。bg设置背景色的颜色。fg是前景色的意思(英文没听清楚),把打招呼的颜色设置为蓝色.self.hi_there.pack()def say_hi(self):print('空朋们好,这是我的第二个GUI程序。')root = tk.Tk()   #先创建一个顶层窗口
app = APP(root)  #再实例化这个APProot.mainloop()

鱼c笔记——Python 的 GUI 编程(一):接触 Tkinter相关推荐

  1. python界面编程-Python的GUI编程(TK)

    TK在大多数 Unix平台.Windows平台和Macintosh系统都是预装好的,TKinter 模块是 Tk GUI 套件的标准Python接口.可实现Python的GUI编程. Tkinter模 ...

  2. python实现gui编程_怎样用Python3实现GUI编程?

    目前来说,大部分用python实现GUI开发,主要是tkinter,wxPython,PyQt这3个包,如果你只是实现一个小型的桌面GUI应用,做个小型系统的话,tkinter和wxPython完全就 ...

  3. python支持gui编程_Python GUI编程完整示例

    本文实例讲述了python gui编程.分享给大家供大家参考,具体如下: import os from time import sleep from tkinter import * from tki ...

  4. Python pygame(GUI编程)模块最完整教程(1)

    提示:下滑文章左侧可以查看目录! 1 初识pygame 1.1 简介 参考资料:About - pygame wiki pygame是python中一个流行的GUI编程模块,是专门为了开发游戏而设计的 ...

  5. Python之GUI编程

    一.常用的GUI库 Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GU ...

  6. python的gui编程用途_Python19-03_GUI编程----GUI编程的介绍(第一个程序)

    GUI编程的介绍(第一个程序) GUI图形用户界面编程 我们前面实现的都是基于控制台程序, 程序和用户交互通过控制台来完成. GUI(Graphics User Interfance)即图形用户界面编 ...

  7. python的gui编程pyqt5_Python-GUI编程-PyQt5

    章节1:Python-GUI编程-简介课时1Python-GUI编程-简介14:19课时2Python-GUI编程-GUI库的简介13:43课时3Python-GUI编程-PyQt的简介11:44课时 ...

  8. python的GUI编程和tkinter学习笔记——第一个GUI程序

    一.第一个GUI程序 from tkinter import * from tkinter import messagebox# 创建窗口 root = Tk()btn01 = Button(root ...

  9. 【Python】GUI编程(Tkinter)教程

    什么是Tkinter? Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 由于 Tkinter 是内置到 python 的安 ...

最新文章

  1. C 库函数 int fprintf(FILE *stream, const char *format, ...) 发送格式化输出到流 stream 中
  2. 报名 | 想在硅谷近距离接触蚂蚁金服的CTO和一众技术高管?这个机会一定不能错过!...
  3. 第1章-导言-习题1.13-1.17
  4. go mysql recover_golang用panic和recover做业务流程中断的尝试
  5. 创纪录!浪潮云海完成OpenStack Rocky版本全球最大规模单一集群测试!
  6. SPA单页应用的优缺点
  7. PHP案例:实现数据库增删改查功能
  8. 【初体验】valgrind分析程序性能
  9. idea创建springboot项目+mybatis_从spring boot项目创建到netty项目过渡1
  10. 自己在总结前人经验下弄的几个opencv封装函数
  11. Linux 中软件使用及常见问题 QA
  12. 2017-01-27-一句话木马原理详解
  13. Nginx优化---防盗链--网页缓存--网页压缩--日志分割
  14. CPU中控制器的功能
  15. ValidateCode源码
  16. 微信小程序canvas绘制圆形头像
  17. 改变el-input框的样式(去掉边框),及scoped实现原理
  18. 身份证OCR识别发展史
  19. Java中的基本数据类型是哪些_java中基本数据类型有哪些
  20. 安装OpenCV时遇到的几种错误

热门文章

  1. 五子棋项目结束总结_朱建锋:五子棋对局要不断总结、精益求精!
  2. IDEA官方历史版本下载
  3. opencv之SURF算法原理及关键点检测
  4. (一)linux系统用户管理、用户组管理
  5. 查看谷歌手机是不是Verizon 版(运营商版)
  6. 美云智数移动互联技术被众多企业认可,助力了企业更好发展
  7. 程序开发中提问的智慧
  8. 软件测试之测试经理篇
  9. 设置文本过长时显示省略号
  10. 上海迪士尼推出冬季节庆新体验;丹纳赫宣布IDT中国正式成立 | 美通企业日报...