当前位置:   article > 正文

Python9 Tkinter创建GUI

Python9 Tkinter创建GUI

1.Tkinter简单介绍

Tkinter是Python的标准GUI(图形用户界面)库,提供一种简单的方式来创建窗口程序。Tkinter封装了访问Tk GUI工具包的接口,Tk是一个跨平台的GUI开发库,广泛用于创建图形界面。

使用Tkinter,开发者可以快速地创建如窗口、对话框、按钮、菜单、文本框等GUI元素,并定义这些元素的行为,处理用户的交互行为。它广泛用于以下工作:

  1. 快速原型开发:由于Python的简单性,加上Tkinter的易用性,它非常适合用于快速开发桌面应用的原型。

  2. 教育和入门级项目:对于学习编程和GUI开发的初学者,Tkinter提供了一个较为容易的学习路径。

  3. 内部工具和独立应用:对于小型业务和实验室,Tkinter是快速开发专用工具或简单应用程序的理想选择。

  4. 数据可视化和简单的交互式工具:Tkinter可以用来开发需要图形用户界面的数据分析工具。

尽管Tkinter在功能和现代性方面可能不如其他更先进的GUI框架(如 PyQt 或 Electron),它仍然是入门级和中小型应用的一个非常可靠的选择,因为它的轻量级、简单易学,并且不需要安装额外的库就可以使用。

2.Tkinter的简单使用

① 创建一个Tk根目录
  1. # 创建第一个tkinter程序
  2. from tkinter import *  #  # 从tkinter库导入所有模块
  3. root=Tk()  # 创建一个Tk根窗口,用来容纳整个GUI应用
  4. root.mainloop()  # 启动应用的事件循环,等待用户交互

图片

② 添加GUI标题
  1. # Tk类解读
  2. from tkinter import *
  3. root=Tk()
  4. root.wm_title("窗口标题为:Python Tkinter")
  5. root.mainloop()

图片

③ 添加标签
  1. # 组件--label标签
  2. from tkinter import *
  3. # 创建一个TK实例root
  4. root=Tk()
  5. root.wm_title('这是一个tkinter示例')
  6. w1=Label(root,text='正在学习Tkinter',background='red',underline=True)  # 创建一个Label实例
  7. w1.pack()  # 找个合适的位置进行放置
  8. root.mainloop()

图片

④ 添加多个标签
  1. from tkinter import *
  2. #首先、创建一个tkinter实例
  3. root=Tk()
  4. root.wm_title('创建多个标签Label')
  5. w1=Label(root,text='我是第一个Label',background='yellow')
  6. w2=Label(root,text='我是第二个Label',background='red')
  7. w3=Label(root,text='我是第三个Label',background='green')
  8. w1.pack()
  9. w2.pack()
  10. w3.pack()
  11. root.mainloop()

图片

⑤ 添加按钮组件
  1. # 组件--按钮
  2. from tkinter import *
  3. def create_label():  # 定义一个名为create_label的函数,当按钮被点击时,这个函数将被调用
  4.     global root  # 通过使用global关键字声明root,确保函数内部可以访问到在外部定义的root变量
  5.     w=Label(root,text='我是一个Label')  # 在根窗口root中创建一个新的Label标签,文本内容为“我是一个Label”
  6.     w.pack()  # 使用pack()几何管理器来自动调整标签的位置和大小,并使其在窗口中显示
  7. root=Tk()  # 创建Tk实例
  8. # Button是Tkinter中用于创建按钮的组件,root参数指定了按钮将被放置在哪个容器中,在这里是根窗口root;text='点击我添加一个label'设置按钮上显示的文本;command=create_label参数指定了当按钮被点击时应该执行的函数,这里绑定到了前面定义的create_label函数
  9. button=Button(root,text='点击我添加一个label',command=create_label)
  10. button.pack()  # 自动调整其位置和大小
  11. root.mainloop()  # 启动Tkinter的事件监听循环,这使得窗口能够保持开启状态,并响应用户的操作,比如按钮点击事件。

图片

⑥ 创建两个按钮并设置属性
  1. # 设置button的属性
  2. from tkinter import *
  3. #创建一个tkinter实例
  4. root=Tk()
  5. button1=Button(root,text='按钮1'
  6. button1['width']=20
  7. button1['height']=2
  8. button1['background']='yellow'
  9. button1.pack()
  10. button2=Button(root,text='按钮2')
  11. button2['width']=30
  12. button2['height']=1
  13. button2['background']='green'
  14. button2.pack()
  15. root.mainloop()

图片

⑦ 设置GUI布局

下面的示例代码展示的是pack布局管理器的基本用法,展示如何通过不同的参数调整组件的布局和扩展方式。pack是Tkinter中三种主要的几何管理器之一,它可以按照指定的方向顺序排列窗口部件。

  1. # 布局介绍
  2. # pack布局
  3. from tkinter import *
  4. root=Tk()
  5. # 创建一个按钮,文本为"A",side=LEFT指定按钮在其容器中靠左对齐,expand=YES:允许按钮在用户调整窗口大小时水平扩展,fill=Y:在垂直方向上填满整个分配给它的空间
  6. Button(root,text='A').pack(side=LEFT,expand=YES,fill=Y)
  7. # 创建一个按钮,文本为"B",side=TOP:指定按钮位于其容器的顶部,expand=YES:允许按钮在用户调整窗口大小时水平和垂直扩展,fill=BOTH:让按钮填满在水平和垂直方向上分配给它的所有空间
  8. Button(root,text='B').pack(side=TOP,expand=YES,fill=BOTH)
  9. # 创建一个按钮,文本为"C",side=RIGHT:指定按钮在其容器中靠右对齐,fill=NONE:按钮不填充额外空间,anchor=NE:按钮的锚点位于北东(右上角)
  10. Button(root,text='C').pack(side=RIGHT,fill=NONE,anchor=NE)
  11. root.mainloop()

图片

⑧ grid布局管理器创建简单的登录界面
  1. #grid布局
  2. from tkinter import*
  3. root=Tk()
  4. # 在第一行第一列创建一个标签(Label)组件,显示文本“账号”,sticky=W参数使得标签靠近网格单元的西部(左侧)
  5. Label(root,text='账号').grid(row=0,sticky=W)
  6. # 在第一行第二列创建一个输入框(Entry),用于输入账号,sticky=E使得输入框靠近网格单元的东部(右侧)
  7. Entry(root).grid(row=0,column=1,sticky=E)
  8. # 与上面同样的方法
  9. Label(root,text='密码').grid(row=1,sticky=W)
  10. Entry(root).grid(row=1,column=1,sticky=E)
  11. # 在第三行第二列创建一个按钮,显示文本“登录”。sticky=W参数使按钮靠左对齐
  12. Button(root,text='登录').grid(row=2,column=1,sticky=W)
  13. # 在同一行同一列创建另一个按钮,显示文本“注册”。sticky=E参数使按钮靠右对齐
  14. Button(root,text='注册').grid(row=2,column=1,sticky=E)
  15. root.mainloop()

图片


以上内容总结自网络,如有帮助欢迎转发,我们下次再见!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/758494
推荐阅读
相关标签
  

闽ICP备14008679号