tkinter
是 Python 的标准图形用户界面(GUI)工具包,用于创建桌面应用程序的用户界面。tkinter
提供了一组丰富的组件和工具,使开发者能够轻松地构建具有按钮、标签、文本框、滚动条等元素的交互式应用程序。
以下是 tkinter
模块的一些主要作用:
-
创建窗口:
tkinter
提供了创建窗口的方法,开发者可以通过Tk()
类创建主窗口,并在窗口中添加各种组件。 -
添加组件:
tkinter
提供了多种组件,如按钮(Button)、标签(Label)、文本框(Entry)、滚动条(Scrollbar)等,开发者可以将这些组件添加到窗口中,构建用户界面。 -
布局管理:
tkinter
提供了不同的布局管理器,如包(Pack)、网格(Grid)、place 等,开发者可以使用这些布局管理器来控制组件在窗口中的位置和大小。 -
响应事件:
tkinter
允许开发者为组件绑定事件处理函数,例如点击按钮时触发的事件,用户输入文本时触发的事件等。 -
绘制图形:
tkinter
支持绘制简单的图形元素,如直线、矩形、椭圆等,开发者可以使用这些功能来实现一些简单的绘图功能。
总的来说,tkinter
是一个功能强大且易于学习的工具包,适用于快速开发简单的桌面应用程序。虽然在功能和外观上有一些限制,但对于许多小型项目和原型设计来说,tkinter
是一个非常有用的工具。如果您想要开发简单的桌面应用程序,tkinter
是一个很好的选择。
一、窗口初始化
1、 首先导入tkinter模块,win系统通常情况下python已经自带了,
from tkinter import * import tkinter as tk
2、 初始化可视化窗口界面
root = Tk() root.title(‘title name’) # 窗口的标签自定义 root.geometry(‘600x500’)# 窗口的宽高 # 内容放到这里 root.mainloop()# 窗口持续运行函数
二、窗口加载内容
文本写入和文本框显示
Label函数用于文本显示
使用方式
tk.Label(root, text = ‘text name’).place(x = 0, y = 0)# xy = 文本在窗口的位置
Entry函数用于文本框显示
使用方式
entry_noe_1 = tk.Entry(root, width = 30, bd = 3)# width长度,bd深度 entry_noe_1.pack() entry_noe_1.place(x = 90, y = 0) # 文本框位于窗口的位置 entry_noe_1.insert(tk.END , ‘test’) # 文本框默认显示参数
三、日志窗口和显示
ScrolledText函数/需要载入模块 from tkinter.scrolledtext import ScrolledText
使用方式
Scrolled_one_1 = ScrolledText(root . bd = 2, relief = ‘solid’ , width = 70, height = 30) Scrolled.place(x = 0, y = 120)
日志写入使用insert函数
Scrolled_one_1.insert(END , ‘这里写入日志的参数’)
四、执行按钮和执行返回
1、执行需要的操作,在下方定义一个执行函数
def GetResult(Insert): e = int(Insert) + 5 # 文本框输入默认是str类型,传入数字需要转换int return e
2、 窗口内部定义执行体
def Exceut_Result(): ReadTables_1 = entry_noe_1.get() # 获取文本框输入的参数 Exceut = GetResult(ReadTables_1) # 调用外部执行函数 # 创建执行按钮 Button_Exceut = Button(root , text = ‘执行按钮’, command = Exceut_Result ) Button_Exceut.pack() Button_Exceut.place(x = 10 , y = 65)
五、整体脚本
import datetime from tkinter import * import tkinter as tk from tkinter.scrolledtext import ScrolledText from tkinter import ttk def tke(): # 初始化整个显示界面 window = Tk() window.title("tkinter") window.geometry("600x560") # 创建Notebook组件 notebook = ttk.Notebook(window) # 创建多个选项卡 tab1 = tk.Frame(notebook) tab2 = tk.Frame(notebook) tab3 = tk.Frame(notebook) notebook.add(tab1, text='第一页') # 读取目录test/train/val tk.Label(tab1, text="text name").place(x= 0, y= 0) ReadTable1 = tk.Entry(tab1, width = 30, bd = 3) ReadTable1.pack() ReadTable1.place(x = 90, y = 0) ReadTable1.insert(tk.END, "test") tk.Label(tab1, text="消息窗口:").place(x=3, y=100) text1_1 = ScrolledText(tab1, bd=2, relief="solid", width=75, height=30) text1_1.place(x=0, y=120) def Exceut_Result(): ReadTables_1 = ReadTable1.get() text1_1.insert(END, "输入数据:" + str(ReadTables_1)) text1_1.insert(END, "\n" ) Exceut = GetResult(ReadTables_1) text1_1.insert(END, "执行函数返回结果:" + str(Exceut)) text1_1.insert(END, "\n" ) Button_Exceut = Button(tab1, text="执行按钮", command=Exceut_Result) Button_Exceut.pack() Button_Exceut.place(x=10, y=65) # 将Notebook组件放置在主窗口中 notebook.pack(expand=1, fill='both') window.mainloop() def GetResult(Insert): e = int(Insert) + 5 return e if __name__ == '__main__': tke()