python进阶之tkinter模块

by admin玩家故事

python进阶之tkinter模块

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()

Read More