首页 > 编程语言 >python进阶之tkinter模块

python进阶之tkinter模块

时间:2024-04-08 13:58:00浏览次数:22  
标签:Exceut 窗口 进阶 python Button place tk tkinter

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

 

标签:Exceut,窗口,进阶,python,Button,place,tk,tkinter
From: https://www.cnblogs.com/zhanghaoyang/p/18120967

相关文章

  • 字符串进阶-字符串函数
    字符串进阶-字符串函数应用c++提供了大量的字符串函数,供我们在解题时使用。一、常用函数介绍1-长度(有返回值)a.size()或a.length()2-查找(有返回值)a.find("hello")//返回子串hello在a中第一次出现时开头字母h的下标a.find('h')//返回字符h在a中第一次出......
  • python计算机毕设【附源码】基于Android开发的智能音乐播放系统(django+mysql+论文)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着移动互联网的飞速发展,智能手机已经成为人们日常生活中不可或缺的一部分。在众多手机应用中,音乐播放系统是用户使用频率较高的应用之一。传统的音乐播放......
  • 文本转语音常用的几个python库
    在Python编程领域,文本到语音(Text-to-Speech,TTS)的转换是一个常见的需求,尤其是在开发能够与用户交互的应用程序时。以下是几个流行的Python库,它们可以帮助开发者实现文本到语音的转换,并且有的可以将转换后的语音保存为MP3文件。gTTS(GoogleText-to-Speech)gTTS是一个依......
  • 27岁自学Python转行靠谱吗?入行晚吗?
    今年已经奔三的小编来给大家说说,之前自己也是在一个普通的二本院校上学,学的还是工商管理,毕竟读书的时候电视剧里面的主角都是工商管理的大佬。不过在毕业之后就经历了社会的毒打,后面小编就想去换一个工作,学起了软件应用开发,然后这几年的数据分析很火又来试试,生命在于折腾......
  • 粉丝提问:26想转行做Python开发,是不是已经晚了?
    26岁基本上是一个硕士研究生刚毕业的年纪,相当于本科毕业工作了2年,总体来说时间耽误的并不算太多,想转行做Python开发,不算太晚!1转行前先想清楚这5点!①年龄:至少在35岁前还有9年时间,时间上面是可以的。②学历:有没有达到最低的学历要求?本科以下不好找。③风险:是否做好了......
  • 一起学习python——基础篇(7)
    今天讲一下python的函数。函数是什么?函数是一段独立的代码块,这块代码是为了实现一些功能,而这个代码块只有在被调用时才能运行。在Python中,使用 def关键字定义函数:函数的固定结构就是def(关键字)+函数名字(自己定义)+():deftest_function():#里面的内容一定要有空格(......
  • Python适用的工作,看看哪个适合你?
    学编程?Python?很多人可能一头雾水,觉得只有程序员才需要会编程,还把Python脑补得很难。其实不是的,Python在资源收集、数据分析、自动化办公等领域表现很突出,可以帮我们执行一些重复、低效的工作,让我们把更多时间花在刀刃上。并且,Python也不是程序员的专属,它将是每个职场人的......
  • Python 高级编程必会之深浅拷贝
    浅拷贝和深拷贝在Python中各有用武之地,正确的选择取决于具体的应用场景、数据结构的复杂性以及对性能的要求。理解这两种方法的工作原理和差异,是每个Python开发者在进行数据复制操作时必须掌握的基础。 在我们进行Python编程的时候,复制(拷贝)数据结构是一种常见的操作,比如当......
  • 【头歌-Python】流程控制自学引导
    禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137461301参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301如果代码存在问题,麻烦大家指正~~有帮助麻烦点个赞~~数值类型自学引导第1关:按从小到大顺序输出小于n的非负整数第2关......
  • Python3.8-安装pip-autoremove
    pip-autoremove是一个Python第三方包管理工具扩展,它的作用是在移除指定Python包的同时,自动清理掉因该包而安装但目前已不再被任何其他包依赖的无用依赖项。pipinstallpip-autoremovepip-autoremovepyside2注意:需要将python安装目录的Scripts文件夹中的pip-autor......