tkinter 是 Python 的标准图形用户界面(GUI)工具包,用于创建桌面应用程序的用户界面。tkinter 提供了一组丰富的组件和工具,使开发者能够轻松地构建具有按钮、标签、文本框、滚动条等元素的交互式应用程序。

以下是 tkinter 模块的一些主要作用:

  1. 创建窗口:tkinter 提供了创建窗口的方法,开发者可以通过 Tk() 类创建主窗口,并在窗口中添加各种组件。

  2. 添加组件:tkinter 提供了多种组件,如按钮(Button)、标签(Label)、文本框(Entry)、滚动条(Scrollbar)等,开发者可以将这些组件添加到窗口中,构建用户界面。

  3. 布局管理:tkinter 提供了不同的布局管理器,如包(Pack)、网格(Grid)、place 等,开发者可以使用这些布局管理器来控制组件在窗口中的位置和大小。

  4. 响应事件:tkinter 允许开发者为组件绑定事件处理函数,例如点击按钮时触发的事件,用户输入文本时触发的事件等。

  5. 绘制图形: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()