图形化界面编程——python tkinter库的使用

2021-06-28 12:04:01 浏览数 (2)

相信很多小伙伴已经对面向控制台编程已经厌烦了。每次写python代码,只能看到一堆控制台代码,完全没有想象中的程序员的感觉。所以接下来小编带来的,就是有关GUI编程的内容——如何使用python写一个窗口应用程序。本篇文章采用的是tkinter库,这是一个python自带的GUI编程库,虽然它很简单,也不算好用,但它确很适合入门,接下来就让小编来介绍一下这个库吧。

什么是tkinter库

tkinter库是一个python自带的用于图形化页面编程的库。使用tkinter,开发者可以快速构建一个简单的图形化窗口应用。作为一个GUI库,tkinter的功能还算完备。而且它简单灵活且稳定,是新手学习和小型项目开发GUI的良好工具。

 python安装时附带的IDLE就是使用tkinter实现的

图形化编程有哪些工具,各有什么优缺点

python下的图形化编程工具有pyqt,tkinter和wxpython三种他们的特点如下:

 tkinter pyqt   wxpython
 开源,免费,可以商用 部分情况(如果项目不是开源的)需要商业许可   开源,免费
 易于理解掌握  了解pyqt的所有细节需要大量时间  细节比pyqt少但也很多
 设计较旧  良好的ui和现代外观 也拥有较好的ui和外观
 不附带高级小部件  有很多高级小部件 也有很多高级小部件 
 没有设计工具  有专门的qt design作为设计工具  有wxFormbuilder作为设计工具
 无需额外安装  需要安装特定库 需要安装特定库 
 库很小,比较稳定  库比较大,比较复杂 库比较大,但没有pyqt那么大(且复杂) 
 学习难度较低  有学习过qt的话学习pyqt会很快

可以看到,各个GUI框架都有各自的优缺点,tkinter在简单方面做到了极致,而pyqt则在细节方面做得更好。wxpython则作为它们俩的折中方案存在。然而作为初学者要进行GUI编程的快速上手,还是tkinter更加适合。

tkinter快速上手

话不多说,直接上代码(以下代码列出了一些简单的tkinter的组件的使用,代码附有注释):

from tkinter import *
from tkinter import messagebox

window = Tk() # 创建一个Windows窗口
window.title("First Window")  # 给这个窗口的标题命名
window.geometry("350x200")  # 设定窗口大小为350x220

lbl = Label(window, text="Hello") #定义一个标签组件(标签1),它的值为hello
lbl.grid(column=0, row=1) #使用grid,将标签1定位到0,1的位置

txt = Entry(window, width=10) #定义一个文本输入框,他的宽度为10
txt.grid(column=0, row=0) #使用grid,将输入框定位到0,0的位置
def clicked():#当点击按钮的时候触发该方法
    res = "Welcome to " + txt.get()#使用get方法可以获取输入组件的值
    lbl.configure(text=res) #使用configure方法可以设定标签1的text值(也就是他要展现的值)
    messagebox.showinfo("编程学习哪家强", "那必须得是W3Cschool!")


btn = Button(window, text="点我!!!", command=clicked) #定义一个按钮组件,他的值为点我!!!,同时定义点击触发命令为clicked
#当点击按钮时,触发clicked方法
btn.grid(column=1, row=0)#使用grid,将按钮定位到1,0的位置

window.mainloop() # 使用mainloop函数,可以让窗口等待用户与之交互直到我们关闭它

值得一提的是,tkinter的定位方式不止只有grid(网格布局),也有place(绝对布局)与pack(相对布局),这一点让小编想起了HTML与CSS,有前端开发经验的小伙伴理解起tkinter应该会更快。

 注:文章篇幅所限,关于tkinter的内容不能介绍过多,更多介绍可以前往pythonGUI编程进行学习。

小结

以上就是关于python GUI页面实例的一个介绍了。更系统的学习可以前往python进阶课程进行学习。


0 人点赞