本期案例是带着大家制作一个属于自己的GUI图形化界面—>用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢?限于篇幅,今天我们首先详细讲述一下Thinter的使用方法。本来不准备详细讲述这个基础知识,但是我怕那些想学习的同学,学起来不过瘾,还是补充了这一章。

thinter的简单应用

Thinter是python的标准GUI库。python使用Tkinter可以快速地创建GUI应用程序。当然常用的GUI库还有PyQt5,我们只需要知道这两个常用的即可,如果你真的想学习的话。由于Thinter属于python标准库,就不需要使用pip安装,直接导入使用即可。

① 显示窗口
  • root.mainloop()显示窗口;

  • 窗口默认会显示在电脑屏幕的左上角,非常小(后面需要改进);

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 显示窗口
root.mainloop()
"""
注意到:该窗口默认的显示位置在哪里,观察我下面的截图。
窗口默认显示在整个电脑屏幕的左上角,并且窗口大小特别小。
"""

结果如下:

注意:上面2行代码,首先实例化一个窗口对象,然后我们展示了这个窗口,让其真正显示出来。接下来我们的操作,就是针对这个窗口的一系列优化操作,请注意:这个优化操作使用的代码,都是放在这2句代码中间。

② 设置窗口大小
  • root.geometry("600x400")调整窗口的大小;

  • 该方法中传入的是"宽x高",但是需要注意这个乘号是小写的英文字母x,而不是这个*表示的乘号;

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450")# 显示窗口
root.mainloop()

结果如下:

③ 调整窗口位置(使用的是同一个方法)
  • root.geometry("600x400+374+182")调整窗口的大小+位置;

  • 374,182表示的是窗口顶点,距离电脑左上角的坐标。这个数字怎么得到的呢?直接借助微信截图就可以显示了。

操作代码如下:

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 显示窗口
root.mainloop()

结果如下:

④ 设置窗口的标题
  • root.title()设置窗口的标题;

  • 默认的窗口标题是tk;

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 显示窗口
root.mainloop()

结果如下:

⑤ 添加标签控件,并定位
  • Label(root,text="签名")添加标签控件

  • 第一个参数传入的就是实例化的那个root窗口对象;第二个参数传入的要显示的那个标签文本;

  • 仅仅添加标签控件后,还不行,必须要指定一个位置后,该标签控件才会真正展示出来,即最后需要调用grid()方法后,才会显示标签控件;

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root)
# 定位
label.grid()# 显示窗口
root.mainloop()

结果如下:

当然你也可以想到,这个方法肯定还可以修改字体样式、字体大小、字体颜色呀?具体怎么操作呢?我们接着往下面看。

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名",font=("宋体",25),fg="red")
"""
text参数用于指定显示的文本;
font参数用于指定字体大小和字体样式;
fg参数用于指定字体颜色;
"""
# 定位
label.grid()# 显示窗口
root.mainloop()

结果如下:

⑥ 添加输入框,并定位
  • Entry(root,font=("宋体",25),fg="red")添加输入框

  • 第一个参数传入的就是实例化的那个root窗口对象;第二个参数可写可不写,指的是我们输入的字体的字体样式和字体大小;第三个参数同样可写可不写,表示的是我们输入的字体的颜色。

  • 同样,仅仅使用上述代码并不会显示输入框,只有调用grid()方法,定位后,才会真正显示这个输入框;

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名",font=("宋体",25),fg="red")
# 定位
label.grid()# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid()# 显示窗口
root.mainloop()

结果如下:

注意:很明显这样的摆放方式,并不是我们想要的。我们需要调整一下,下面我们专门花一个小节时间,去讲述怎么调整这个摆放位置。

⑦ 调整控件的摆放位置

首先我们需要搞明白,显示窗口究竟采用的是什么样子的布局方式呢?其实是网格式的布局方式。那么什么又是网格式的布局方式呢?excel表格你知道吧,一个个的格子就是网格式的布局方式。

好了!知道了上述原理后,我们现在来真正的调整这个控件摆放位置啦。

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()
"""
label.grid()等价于label.grid(row=0,column=0)
"""
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)
"""
row=0,column=1表示我们将输入框控件,放在第1行第2列的位置;
python语言中,这个下标是从0开始的。
"""
# 显示窗口
root.mainloop()

结果如下:

⑧ 添加点击按钮
  • Button(root,text="签名设计",font=("宋体",25),fg="red")添加输入框

  • 第一个参数传入的就是实例化的那个root窗口对象;第二个参数展示的是我们这个点击按钮的标签;第三个参数可写可不写,指的是点击按钮字体的字体样式和字体大小;第四个参数同样可写可不写,表示的是点击按钮字体的颜色。

  • 同样,仅仅使用上述代码并不会显示输入框,只有调用grid()方法,定位后,才会真正显示这个点击按钮;

from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue")
button.grid(row=1,column=1)# 显示窗口
root.mainloop()

结果如下:

至此界面已经简单搭建起来了,接下来要做的就是输入一个名字,点击签名设计后,会显示我的这个签名,此时就需要借助爬虫啦!明天我们将会发布该文的下篇哦,敬请期待。

⑨ 点击按钮自定义功能

这里最后补充这个知识点,我们点击按钮后,总是希望能够给我们返回点什么,所以呢,需要我们自定义函数

from tkinter import *
from tkinter import messageboxdef func():print("我是黄同学")# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")#  窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue",command=func)
button.grid(row=1,column=1)
"""
command=func表示调用最开始定义的func函数。
func函数一定要在这句代码之前,因为这里需要调用这个func函数。
"""
# 显示窗口
root.mainloop()

结果如下:

往期推荐

5分钟完全掌握PyPy

5 分钟掌握 Python 中常见的配置文件

OpenCV人工智能图像识别技术实操案例

点击下方阅读原文加入社区会员

点赞鼓励一下

用 Python 打造属于自己的GUI图形化界面相关推荐

  1. 【kimol君的无聊小发明】—用python写论文下载器(图形化界面)

    [kimol君的无聊小发明]-用python写论文下载器(图形化界面) 前言 一.使用说明 二.代码分析 1. 功能函数 2. 回调函数 3. 线程生成函数 4. 效果展示 写在最后 前言 某个夜深人 ...

  2. java swing(GUI图形化界面)基础教程3-添加事件监听1

    学习此内容前建议先去学习java基础知识: 匿名内部类 (学的多的可以用lambda表达式,更加简便) 好, 我们先看一下之前的代码(即一个窗口和一个按钮) 如果想看详细内容,链接为: (23条消息) ...

  3. 黑马程序员--线程之间的通信,等待与唤醒机制,线程的终止方式,线程中的其他方法,优先级,toString() 守护线程,GUI图形化界面

    ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...

  4. GUI图形化界面(后篇)

    Swing编程目录 1.1 Swing概述 1.2 Swing基本组件的用法 1.2.1 Swing组件层次 1.2.2 AWT组件的Swing的实现 1.2.3 为组件设置边框 1.2.4 使用JT ...

  5. Vultr(云服务器)安装GUI图形化界面(已解决)

    服务器:Vultr OS:Ubuntu 14.04 步骤: 1.远程登陆到服务器 2.确保所有的包和依赖关系是最新的 apt-get update 3.安装LXDE Minimalist apt-ge ...

  6. MySQL GUI图形化界面常用软件推荐

    序 MySQL 服务器正确安装以后,可以通过命令行管理工具或者图形化的管理工具来操作 MySQL 数据库. MySQL 图形化管理工具极大地方便了数据库的操作与管理,除了系统自带的命令行管理工具之外, ...

  7. GUI(图形化界面)

    一.Java GUI简介   图形用户界面(Graphics User Interface,GUI,图形化的用户接口)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作. 二.Swing的基本 ...

  8. php图形界面框架,python GUI 图形化界面框架的选择

    根据网上资料的显示目前流行的开源python GUI有以下几个 (以下GUI框架适用于应用的GUI,如果采用WEB方式,UI可使用h5相关标签即可,也可以用框架.): PyQt 的介绍 : http: ...

  9. 端口映射+物理机、虚拟机互访+Pyqt5、Gui图形化界面+Mysql数据库

    目录 一.背景 1.1.要求 1.2.说明 1.2.1.环境 二.步骤详解 2.1.在linux下安装mysql数据库,并能通过localhost/phpmyadmin登录,用户名密码均设为root ...

  10. python网易云音乐下载_GUI图形化界面

    效果展示 1,打包exe文件,window直接可以运行 2,输入歌曲名字可以直接下载 3,下载后的歌曲保存在netease.exe文件所在的同一个文件夹中,music_netease文件夹是程序自动创 ...

最新文章

  1. android预置第三方apk,android 内置APK成系统应用
  2. solr配置同义词,停止词,和扩展词库(IK分词器为例)
  3. 浅谈malloc,calloc,realloc函数之间的区别
  4. java习题-练习1
  5. element 组件中 el-form-item label= ‘vue介绍 (vue设置)‘ 强制换行
  6. MVC公司架构介绍——自运行任务
  7. 利用python scapy包进行抓包发包与ARP扫描
  8. U盘中病毒了,丢失的文件能用EasyRecovery恢复吗?
  9. python编写简易木马程序_中国骇客云教你使用Python编写木马程序
  10. 数据模型的概念,数据模型的作用和数据模型的三个要素
  11. 计算机考研常考:广义表的定义以及数据结构,你都会了吗?
  12. 上海小伙三次成功创业,资产达上十亿被称为“创业神童”
  13. VFX - Niagara中的Emitter Summary
  14. 航班动态查询接口 支持最新航班查询
  15. 顾往前行,我的前端之路系列(一)
  16. 芯片破壁者(四):兵戈未息的DRAM战场
  17. eis电子防抖好还是光学防抖好_从光学防抖到视频双防抖,一张图了解手机防抖技术进步有多快...
  18. Python使用随机森林模型进行电影评分预测
  19. CAD剖切符号怎么画?CAD剖切符号标注
  20. python英文分词库_smallseg---又一个开源python分词库

热门文章

  1. 汉字Unicode编码规范
  2. 虚拟机下安装BackTrack5 (BT5)教程及BT5汉化
  3. ARP病毒攻击技术分析与防御
  4. 协议分析_qvod_获取快播视频的下载地址_20120203
  5. 《微信背后的产品观》一书
  6. 安卓应用出海指南--发布到Google Play
  7. 代码不止|想制胜海外市场?Google 来帮你!
  8. 在Windows下配置svn服务端钩子程序
  9. 若干小球碰撞的一种暴力解题法
  10. java魔兽争霸_GitHub - mzhg/jw3gparser: Java解析《魔兽争霸3》游戏录像工具