赞
踩
Tkinter是Python的标准GUI(图形用户界面)库,提供一种简单的方式来创建窗口程序。Tkinter封装了访问Tk GUI工具包的接口,Tk是一个跨平台的GUI开发库,广泛用于创建图形界面。
使用Tkinter,开发者可以快速地创建如窗口、对话框、按钮、菜单、文本框等GUI元素,并定义这些元素的行为,处理用户的交互行为。它广泛用于以下工作:
快速原型开发:由于Python的简单性,加上Tkinter的易用性,它非常适合用于快速开发桌面应用的原型。
教育和入门级项目:对于学习编程和GUI开发的初学者,Tkinter提供了一个较为容易的学习路径。
内部工具和独立应用:对于小型业务和实验室,Tkinter是快速开发专用工具或简单应用程序的理想选择。
数据可视化和简单的交互式工具:Tkinter可以用来开发需要图形用户界面的数据分析工具。
尽管Tkinter在功能和现代性方面可能不如其他更先进的GUI框架(如 PyQt 或 Electron),它仍然是入门级和中小型应用的一个非常可靠的选择,因为它的轻量级、简单易学,并且不需要安装额外的库就可以使用。
- # 创建第一个tkinter程序
- from tkinter import * # # 从tkinter库导入所有模块
- root=Tk() # 创建一个Tk根窗口,用来容纳整个GUI应用
- root.mainloop() # 启动应用的事件循环,等待用户交互
- # Tk类解读
- from tkinter import *
- root=Tk()
- root.wm_title("窗口标题为:Python Tkinter")
- root.mainloop()
- # 组件--label标签
- from tkinter import *
- # 创建一个TK实例root
- root=Tk()
- root.wm_title('这是一个tkinter示例')
- w1=Label(root,text='正在学习Tkinter',background='red',underline=True) # 创建一个Label实例
- w1.pack() # 找个合适的位置进行放置
- root.mainloop()
- from tkinter import *
- #首先、创建一个tkinter实例
- root=Tk()
- root.wm_title('创建多个标签Label')
- w1=Label(root,text='我是第一个Label',background='yellow')
- w2=Label(root,text='我是第二个Label',background='red')
- w3=Label(root,text='我是第三个Label',background='green')
- w1.pack()
- w2.pack()
- w3.pack()
- root.mainloop()
- # 组件--按钮
- from tkinter import *
- def create_label(): # 定义一个名为create_label的函数,当按钮被点击时,这个函数将被调用
- global root # 通过使用global关键字声明root,确保函数内部可以访问到在外部定义的root变量
- w=Label(root,text='我是一个Label') # 在根窗口root中创建一个新的Label标签,文本内容为“我是一个Label”
- w.pack() # 使用pack()几何管理器来自动调整标签的位置和大小,并使其在窗口中显示
- root=Tk() # 创建Tk实例
- # Button是Tkinter中用于创建按钮的组件,root参数指定了按钮将被放置在哪个容器中,在这里是根窗口root;text='点击我添加一个label'设置按钮上显示的文本;command=create_label参数指定了当按钮被点击时应该执行的函数,这里绑定到了前面定义的create_label函数
- button=Button(root,text='点击我添加一个label',command=create_label)
- button.pack() # 自动调整其位置和大小
- root.mainloop() # 启动Tkinter的事件监听循环,这使得窗口能够保持开启状态,并响应用户的操作,比如按钮点击事件。
- # 设置button的属性
- from tkinter import *
- #创建一个tkinter实例
- root=Tk()
-
- button1=Button(root,text='按钮1')
- button1['width']=20
- button1['height']=2
- button1['background']='yellow'
- button1.pack()
-
- button2=Button(root,text='按钮2')
- button2['width']=30
- button2['height']=1
- button2['background']='green'
- button2.pack()
-
- root.mainloop()
下面的示例代码展示的是pack
布局管理器的基本用法,展示如何通过不同的参数调整组件的布局和扩展方式。pack
是Tkinter中三种主要的几何管理器之一,它可以按照指定的方向顺序排列窗口部件。
- # 布局介绍
- # pack布局
- from tkinter import *
- root=Tk()
- # 创建一个按钮,文本为"A",side=LEFT指定按钮在其容器中靠左对齐,expand=YES:允许按钮在用户调整窗口大小时水平扩展,fill=Y:在垂直方向上填满整个分配给它的空间
- Button(root,text='A').pack(side=LEFT,expand=YES,fill=Y)
- # 创建一个按钮,文本为"B",side=TOP:指定按钮位于其容器的顶部,expand=YES:允许按钮在用户调整窗口大小时水平和垂直扩展,fill=BOTH:让按钮填满在水平和垂直方向上分配给它的所有空间
- Button(root,text='B').pack(side=TOP,expand=YES,fill=BOTH)
- # 创建一个按钮,文本为"C",side=RIGHT:指定按钮在其容器中靠右对齐,fill=NONE:按钮不填充额外空间,anchor=NE:按钮的锚点位于北东(右上角)
- Button(root,text='C').pack(side=RIGHT,fill=NONE,anchor=NE)
- root.mainloop()
- #grid布局
- from tkinter import*
- root=Tk()
-
- # 在第一行第一列创建一个标签(Label)组件,显示文本“账号”,sticky=W参数使得标签靠近网格单元的西部(左侧)
- Label(root,text='账号').grid(row=0,sticky=W)
- # 在第一行第二列创建一个输入框(Entry),用于输入账号,sticky=E使得输入框靠近网格单元的东部(右侧)
- Entry(root).grid(row=0,column=1,sticky=E)
-
- # 与上面同样的方法
- Label(root,text='密码').grid(row=1,sticky=W)
- Entry(root).grid(row=1,column=1,sticky=E)
-
- # 在第三行第二列创建一个按钮,显示文本“登录”。sticky=W参数使按钮靠左对齐
- Button(root,text='登录').grid(row=2,column=1,sticky=W)
- # 在同一行同一列创建另一个按钮,显示文本“注册”。sticky=E参数使按钮靠右对齐
- Button(root,text='注册').grid(row=2,column=1,sticky=E)
- root.mainloop()
以上内容总结自网络,如有帮助欢迎转发,我们下次再见!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。