Python Tkinter 基本概念

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

初衷

        Tk适合作为GUI开发的起点,为学习更复杂的 GUI 库打下基础。亦可作为爬虫项目数据展示途径之一。

GUI

        GUI(Graphical User Interface,图形用户界面)是指通过图形、图标、按钮、窗口等图形化元素来实现人与计算机之间交互的一种界面方式。

        我们常接触的手机/电脑、各种app的界面,就是通过窗口、菜单、对话框、按钮等等元素与我们进行交互的。

Tk基本概念

        根据GUI特性我将Tk按功能分成四大块:信息输入、响应、信息展示、布局。

1. 信息输入

定义:控件用于接收用户提供的数据或选择的操作,为程序提供原始输入信息。
核心目标:支持多种输入方式,满足不同交互需求。

典型控件与功能
  • 文本输入

    • Entry:单行文本输入(如用户名、密码)。
    • Text:多行文本输入(如评论、长文)。
  • 选择输入

    • Checkbutton:多选框,用于布尔选项。
    • Radiobutton:单选按钮,用于选择一个选项。
    • Spinbox:数值选择器,通过上下调整。
    • Scale:滑块选择,用于连续数值范围的输入。
    • Listbox:列表控件,支持单选或多选选项。
    • OptionMenu:下拉菜单,便于选择单一选项。
特点
  • 接受用户主动输入,支持多样化的交互方式。
  • 数据收集的起点,为程序逻辑提供数据源。

2. 响应

定义:控件通过用户的操作触发事件,实现功能逻辑的响应与反馈。
核心目标:提供交互的核心机制,连接用户操作与程序功能。

典型控件与功能
  • 事件触发控件

    • Button:触发按钮,用于执行命令或功能。
    • Menubutton:菜单按钮,可触发下拉菜单功能。
  • 菜单与工具栏

    • Menu:为程序功能提供层次化导航(如文件、编辑菜单)。
    • 工具栏:通过 Frame 和按钮组合实现功能快捷入口。
  • 事件绑定

    • 通过 commandbind 方法,将用户行为(如鼠标点击、键盘输入)与程序逻辑关联。
特点
  • 强调用户操作与程序响应的连接。
  • 是程序功能实现的触发点,与信息输入和输出交互紧密结合。

3. 信息输出

定义:控件用于向用户呈现程序生成的内容,包括文本、图形、状态或提示等。
核心目标:直观、高效地将程序信息反馈给用户。

典型控件与功能
  • 文本与图形展示

    • Label:显示单行文本或图像。
    • Message:多行文本,适合较长提示信息。
    • Canvas:绘制图形、自定义图像显示。
  • 状态与进度反馈

    • Progressbar:显示任务进度(如加载进度条)。
    • Scrollbar:用于滚动显示内容(如文本区域、列表)。
  • 对话框提示

    • messagebox:弹出信息窗口(如提示、警告、错误)。
特点
  • 面向用户单向输出,重点是信息的清晰性和视觉直观性。
  • 支持动态更新,及时反馈程序状态。

4. 布局

定义:控件用于组织窗口内其他控件的排列和层次结构,提供清晰的界面结构。
核心目标:优化界面空间利用,提升用户体验。

典型控件与功能
  • 容器控件

    • Frame:普通容器,用于分组控件。
    • LabelFrame:带标题的容器,适合功能分区。
  • 布局管理器

    • pack:顺序排列控件,适合简单布局。
    • grid:基于网格布局,适合多行多列布局。
    • place:绝对坐标布局,适合精确定位。
特点
  • 不直接参与用户交互,但为控件提供载体和组织方式。
  • 是实现界面美观与功能高效的重要保障。

类别功能概括典型控件与功能
信息输入接受用户输入的数据或选择。EntryTextCheckbuttonRadiobuttonListboxOptionMenu
响应通过事件触发用户操作的程序功能。ButtonMenu、事件绑定(commandbind
信息输出向用户展示程序生成的信息或状态。LabelCanvasProgressbarScrollbarmessagebox
布局组织和排列其他控件,优化界面结构。FrameLabelFrame、布局管理器(packgridplace

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Abstract Describes the Tkinter widget set for constructing graphical user interfaces (GUIs) in the Python programming language. This publication is available in Web form1 and also as a PDF document2. Please forward any comments to tcc-doc@nmt.edu. Table of Contents 1. What is Tkinter?.......................................................................................................................3 2. A minimal application..............................................................................................................3 3. Definitions..............................................................................................................................4 4. Layout management.................................................................................................................5 4.1. The .grid() method....................................................................................................5 4.2. Other grid management methods...................................................................................6 4.3. Configuring column and row sizes.................................................................................7 4.4. Making the root window resizeable................................................................................8 5. Standard attributes...................................................................................................................8 5.1. Dimensions...................................................................................................................9 5.2. The coordinate system...................................................................................................9 5.3. Colors...........................................................................................................................9 5.4. Type fonts...................................................................................................................10 5.5. Anchors......................................................................................................................11 5.6. Relief styles.................................................................................................................12 5.7. Bitmaps.......................................................................................................................12 5.8. Cursors.......................................................................................................................12 5.9. Images........................................................................................................................14 5.10. Geometry strings........................................................................................................14 5.11. Window names...........................................................................................................15 5.12. Cap and join styles.....................................................................................................15 5.13. Dash patterns.............................................................................................................16 5.14. Matching stipple patterns............................................................................................16 6. The Button widget................................................................................................................17 7. The Canvas widget................................................................................................................19 7.1. Canvas coordinates......................................................................................................20 7.2. The Canvas display list................................................................................................20 7.3. Canvas object IDs........................................................................................................21 7.4. Canvas tags................................................................................................................21 1http://www.nmt.edu/tcc/help/pubs/tkinter/ 2http://www.nmt.edu/tcc/help/pubs/tkinter/tkinter.pdf 1 Tkinter reference New Mexico Tech Computer Center 7.5. CanvastagOrId arguments......................................................................................21 7.6. Methods on Canvas widgets........................................................................................21 7.7. Canvas arc objects.......................................................................................................26 7.8. Canvas bitmap objects.................................................................................................28 7.9. Canvas image objects..................................................................................................29 7.10. Canvas line objects.....................................................................................................29 7.11. Canvas oval objects....................................................................................................31 7.12. Canvas polygon objects..............................................................................................32 7.13. Canvas rectangle objects.............................................................................................34 7.14. Canvas text objects.....................................................................................................35 7.15. Canvas window objects..............................................................................................36 8. The Checkbutton widget......................................................................................................37 9. The Entry widget..................................................................................................................40 9.1. Scrolling an Entry widget............................................................................................43 10. The Frame widget................................................................................................................43 11. The Label widget................................................................................................................44 12. The LabelFrame widget......................................................................................................46 13. The Listbox widget............................................................................................................48 13.1. Scrolling a Listbox widget........................................................................................52 14. The Menu widget..................................................................................................................52 14.1. Menu item creation (coption) options.........................................................................55 14.2. Top-level menus.........................................................................................................56 15. The Menubutton widget......................................................................................................57 16. The Message widget............................................................................................................59 17. The OptionMenu widget.......................................................................................................60 18. The PanedWindow widget....................................................................................................61 18.1. PanedWindow child configuration options...................................................................63 19. The Radiobutton widget....................................................................................................64 20. The Scale widget................................................................................................................67 21. The Scrollbar widget........................................................................................................70 21.1. The Scrollbarcommand callback............................................................................72 21.2. Connecting a Scrollbar to another widget................................................................73 22. The Spinbox widget............................................................................................................73 23. The Text widget..................................................................................................................78 23.1. Text widget indices...................................................................................................80 23.2. Text widget marks....................................................................................................81 23.3. Text widget images...................................................................................................82 23.4. Text widget windows...............................................................................................82 23.5. Text widget tags.......................................................................................................82 23.6. Setting tabs in a Text widget......................................................................................83 23.7. The Text widget undo/redo stack..............................................................................83 23.8. Methods on Text widgets..........................................................................................84 24. Toplevel: Top-level window methods..................................................................................91 25. Universal widget methods.....................................................................................................93 26. Standardizing appearance...................................................................................................101 26.1. How to name a widget class......................................................................................102 26.2. How to name a widget instance.................................................................................102 26.3. Resource specification lines.......................................................................................102 26.4. Rules for resource matching......................................................................................103 27. Connecting your application logic to the widgets...................................................................104 28. Control variables: the values behind the widgets...................................................................104 29. Focus: routing keyboard input.............................................................................................106 New Mexico Tech Computer Center Tkinter reference 2 30. Events................................................................................................................................107 30.1. Levels of binding......................................................................................................108 30.2. Event sequences.......................................................................................................109 30.3. Event types..............................................................................................................109 30.4. Event modifiers........................................................................................................110 30.5. Key names...............................................................................................................111 30.6. Writing your handler: The Event class......................................................................113 30.7. The extra arguments trick..........................................................................................115 30.8. Virtual events...........................................................................................................116 31. Pop-up dialogs....................................................................................................................116 31.1. The tkMessageBox dialogs module..........................................................................116 31.2. The tkFileDialog module.....................................................................................118 31.3. The tkColorChooser module.................................................................................119
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值