tkinter控件教程使用说明(一)

本文假定你是有Python编程基础的童鞋,否则你需要首先学习Python相关的语法和学会如何搭建Python的编程环境。
我们都知道,python相对于c#或者c++而言有一个最大的弱势,那就是没有可视化开发界面,所以国内外有很多的辅助界面开发的项目,有的借助于web页面,有的借助QT-designer有的借助微软的VB做了插件,有的直接写了一个类UI开发的辅助软件。无论是哪个方式,其实都离不开tkinter。所以,我们这里分几节开始介绍python的控件使用方法。
控件的显示必须有一个父容器,所以,我们也将父容器一起介绍。


文章随时可能更新,请关注文章原出处: https://blog.csdn.net/haigear/article/details/137281370
为了让大家有一个整体观,我这里将tkinter的主要控件列表说明如下:
以下是使用Markdown格式表格的方式显示Tkinter控件的名称、主要功能和主要应用场景:

控件名称 主要功能 主要应用场景
Button 创建可点击按钮,执行特定的命令或操作。 任何需要用户交互执行操作的场景。
Canvas 提供一个绘图区域,可以绘制图形和处理位图等图像。 需要自定义图形展示或图像编辑的场景。
Checkbutton 创建复选框,允许用户从多个选项中选择多个。 需要提供多个独立选项供用户选择的情况。
Entry 允许用户输入一行文本。 需要接收简短用户输入的表单场景。
Frame 用作其他控件的容器,有助于组织和管理界面上的小部件。 需要对界面元素进行分组或分隔的场景。
Label 主要用于显示文本信息,也可以用于显示图像。 需要展示静态文本或图像信息的场景。
Listbox 显示一列选项供用户选择。 需要列出多个选项供用户浏览和选择的情况。
Menu 用于创建下拉菜单和上下文菜单。 需要提供菜单栏或快捷菜单的应用。
Messagebox 用于显示多行文本信息。 需要展示较长文本信息或消息提示的场景。
OptionMenu 创建一个带有下拉列表的菜单,供用户选择选项。 需要提供一组固定选项供用户选择的情况。
PanedWindow 将界面划分为多个区域,每个区域可以包含不同的内容。 需要多个并列显示区域的复杂布局场景。
Progressbar 用于显示任务的完成进度。 需要向用户展示操作进度的长时间运行任务。
Radiobutton 单选按钮,用于在一组选项中选择一个。 需要用户从一组互斥选项中选择一个的情况。
Scale 滑块控件,允许用户通过滑动选择数值或范围。 需要用户通过滑动条选择数值的场景。
Scrollbar 为其他控件(如Listbox或Text)提供滚动功能。 当内容超出可视区域时,需要滚动查看的场景。
Spinbox 输入框控件,允许用户输入数字并可以通过上下箭头进行增减。 需要用户选择特定数值,且需要微调的场景。
Sizegrip 用于调整窗口大小。 通常位于窗口的右下角,让用户可以调整窗口的大小。
Text 提供一个多行文本编辑区域。 需要多行文本输入和编辑的场景。
Toplevel 顶级窗口控件,用于创建独立的顶层窗口。 需要打开新的独立窗口的场景。
Treeview 树形视图控件,用于展示层次化的数据结构。 需要展示具有层级关系的数据,如文件浏览器。

上述表格是按照字母顺序排列,但我接下来的控件教程说明是按照控件的使用频率来介绍的。
参考官方文档:https://docs.python.org/zh-cn/3/library/tkinter.ttk.html

一、主界面运行

Tkinter中主界面的初始化可以通过两种不同的模式来实现,一种是最简单的混合模式,另一种则是可以体现MVC(模型-视图-控制器)设计模式的方式。以下是两种模式的详细介绍和代码实例:

1、最简单的混合模式

在混合模式中,我们直接在主窗口类中创建和管理所有的GUI组件。这种方式简单直接,但不利于代码的扩展和维护,因为逻辑和显示紧密耦合在一起。

import tkinter as tk

class SimpleApp:
    def __init__(self, root):
        self.root = root
        self.button = tk.Button(root, text="点击我!", command=self.on_button_click)
        self.button.pack()

    def on_button_click(self):
        print("啊啊啊啊,我被点击了,不是电击了!")

if __name__ == "__main__":
    root = tk.Tk()
    app = SimpleApp(root)
    root.mainloop()

2、MVC设计模式

我们都知道,所谓的MVC设计模式即将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。模型负责数据和业务逻辑,视图负责显示数据,而控制器负责处理用户输入并更新模型和视图。

import tkinter as tk

class Model:
    def __init__(self):
        self.data = "Hello, Tkinter!"

class View:
    def __init__(self, master):
        self.master = master
        self.label = tk.Label(master, text="")
        self.label.pack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值