本期案例是带着大家制作一个属于自己的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设计图案_用 Python 打造属于自己的GUI图形化界面相关推荐

  1. python熊猫图案_熊猫Python数据分析库和SQL教会了我如何取平均数

    python熊猫图案 对于主要处理数据的Python开发人员来说,很难不让自己经常陷入SQL和Python的开源数据库pandas中. 尽管这些工具使操作和转换数据变得如此容易(有时就像一行代码一样简 ...

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

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

  3. python设计迷宫_用Python制作迷宫GIF

    安装 可以通过PyPi安装 或者通过Git 为什么你需要这个库? 问:我是一个Python迷,并且对迷宫的生成和迷宫解决的办法非常感兴趣.我很羡慕别人能够做出生成迷宫的动画.我如何能够用Python自 ...

  4. python设计樱花_用Python画樱花?想得美就能画得美(上)

    前段时间疯传的武大学生用Python代码画出樱花,暗藏"武汉加油",好感人的. 不过他们的代码并不是"画"樱花,而是剪辑一段樱花的视频,把其中的像素替换为&qu ...

  5. 利用 Tkinter 打造专属图形化界面:设计签名

    大家好,今天本期带着大家制作一个属于自己的GUI图形化界面:用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢? 限于篇幅,今天我们首先详细讲述一下Tkinter的使用方法.本来不准备 ...

  6. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  7. python图形界面设计代码_(八)Python 图形化界面设计

    3.1.文本输入和输出相关控件:文本的输入与输出控件通常包括:标签(Label).消息(Message).输入框(Entry).文本框(Text).他们除了前述共同属性外,都具有一些特征属性和功能. ...

  8. python中turtle画酷炫图案-用python打造可视化爬虫监控系统,酷炫的图形化界面

    本文并不是讲解爬虫的相关技术实现的,而是从实用性的角度,将抓取并存入 MongoDB 的数据 用 InfluxDB 进行处理,而后又通过 Grafana 将爬虫抓取数据情况通过酷炫的图形化界面展示出来 ...

  9. python拿什么做可视化界面好-用python打造可视化爬虫监控系统,酷炫的图形化界面...

    原标题:用python打造可视化爬虫监控系统,酷炫的图形化界面 本文并不是讲解爬虫的相关技术实现的,而是从实用性的角度,将抓取并存入 MongoDB 的数据 用 InfluxDB 进行处理,而后又通过 ...

  10. python使用界面-(八)Python 图形化界面设计

    3.1.文本输入和输出相关控件:文本的输入与输出控件通常包括:标签(Label).消息(Message).输入框(Entry).文本框(Text).他们除了前述共同属性外,都具有一些特征属性和功能. ...

最新文章

  1. 王建民做客第六期青年学者月度沙龙 分享工业软件的开源创新发展模式
  2. python3.7 的pygame安装方法_Python中pygame安装方法图文详解
  3. C++语言基础 例程 文本文件的读写
  4. Quartz.net 开源job调度框架(一)
  5. mysql schema table_关于数据库中table与schema的区别详解
  6. 阿里巴巴上线静态开源站点搭建工具 Docsite
  7. @扎克伯格:一句对不起,能挽回我们泄漏的数据吗?
  8. Data-mediator入门系列2
  9. 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:基于hash的方法
  10. jquery dropload
  11. 频谱仪测试gsm信号测试软件,怎样用频谱分析仪测试和分析GSM信号
  12. HTML基础入门教程
  13. ArcGIS Pro地图制图之符号化和地图标注
  14. -Dominant Character
  15. System.BadImageFormatException: 试图加载格式不正确的程序。
  16. 使用赫夫曼编码进行解码
  17. java集合——Set
  18. 【群晖NAS】 利用云服务器 FRP技术 实现内网穿透
  19. Single-Stage 6D Object Pose Estimation——6D姿态估计
  20. 为什么别人总是把你往“坏处想”?浅谈如何更好地与项目团队中的“网友”更好地交流

热门文章

  1. 使用 github + jekyll 搭建个人博客
  2. 【C#.NET】ASP.NET状态管理之四:Cache
  3. 透过 ASP.NET 和数据库读写图片
  4. OpenCvSharp4初识
  5. 第六章 线性回归 学习笔记中
  6. 20191223每日一句
  7. halcon-高速下载
  8. Python学习笔记之 循环,列表生成式,生成器,迭代器
  9. Atiitt 关于不可替代性的思索 目录 1.1. 不可替代性与 这份工作谁都能干无关 1 1.2. 不可替代性未必很好,因为其岗位可能很累或者收入很低 1 1.3. 不可替代性与报酬无关 1 2
  10. Atitit ide之道 开发工具之道 attilax著 v2 s22.docx Atitit ide开发工具之道 attilax总结 1. 代码编辑器功能 3 1.1. 关键词颜色 3 1.2.