fbpx
维基百科

Tkinter

TkinterTk GUI工具包的Python绑定包。它是Tk GUI工具包的标准Python接口[3],并且是Python的业界标准GUI工具包。[4]Tkinter同时也包含在Python的Linux、Microsoft Windows和Mac OS X标准库中。Tkinter的名字来自Tk interface。

Tkinter
開發者Fredrik Lundh[1]
编程语言Python
操作系统跨平台
许可协议Python许可证[2]
网站docs.python.org/3/library/tkinter.html

描述 编辑

和大多数现代Tk绑定包一样,Tkinter是透過嵌入在Python解释器中的完整Tcl解释器来包装Python实现的。Tkinter的调用被翻译成Tcl命令,这些命令被提供给这个嵌入式解释器,從而使得在單個程序中可混合Python和Tcl。

它也有几种流行的GUI库可用作替代,例如wxPythonPyQtPySidePygamePygletPyGTK

定义 编辑

窗口 编辑

该词在不同的文中具有不同的含义,通常指用户显示屏上的某处矩形区域。

顶层窗口 编辑

指主窗口的子窗口。它将以桌面环境的标准框架和控件装饰。它可以在桌面上移动,通常也可以调整大小。

小工具 编辑

指图形用户界面中构成应用程序的任何构建块。

  • 核心小部件:容器:框架、标签框架、顶层、窗格窗口。按钮:按钮、单选按钮、复选按钮(复选框)和菜单按钮。文本小部件:标签、消息、文本。条目小部件:缩放、滚动条、列表框、滑块、旋转框、条目(单行)、选项菜单、文本(多行)和画布(矢量和像素图形)。
  • Tkinter 提供了三个允许显示弹出对话框的模块:tk.messagebox(确认、信息、警告和错误对话框)、tk.filedialog(单文件、多文件和目录选择对话框)和 tk.colorchooser(颜色选择器)。
  • Python 2.7和Python 3.1合并了Tk 8.5的“主题 Tk”(“ttk”)功能[5][6]。这使得Tk小部件可以轻松地主题化,使其看起来像运行应用程序的本机桌面环境,从而解决长期以来对Tk(以及因此对Tkinter)的批评。一些小部件是 ttk 独有的,例如组合框、进度条和树状视图小部件.

框架 编辑

在Tkinter中,Frame(框架)小部件是复杂布局的基本组织单位。框架是一个矩形区域,可以包含其他小部件。

父小部件和子小部件 编辑

创建任何小部件时,都会创建父子关系。例如,如果将文本标签放置在框架内,则框架是标签的父小部件。

小型应用程序 编辑

这是一个带有小部件的小型Python 3 Tkinter应用程序:[7]

#!/usr/bin/env python3 from tkinter import * root = Tk() # 创建根窗口 w = Label(root, text="Hello, world!") # 创建一个带有单词的标签 w.pack() # 把标签放进窗口中 root.mainloop() # 开始主循环 

对于 Python 2,唯一的区别是import命令中的“tkinter”是大写的“Tkinter (页面存档备份,存于互联网档案馆)”。[8]

创建过程 编辑

创建小部件有四个步骤:[9]

创建 编辑

在框架内创建一个小部件。

配置 编辑

更改这个小部件的属性。

打包 编辑

将它打包到指定的位置,使其可见。开发人员还可以选择使用 .grid()(row=整数,column=整数)(定义行和列来定位小部件,默认为 0)或.place()(relx=整数或小数,rely=整数或小数)(定义框架或窗口中的坐标)。

绑定 编辑

将其绑定到函数或事件。

这些步骤通常被简化,并且顺序可能会不同。

简单的程序 编辑

这是一个在 Python 中使用面向对象的简单的程序(使用Tcl 8.6,但MacOS上的Python默认不使用它):

#!/usr/bin/env python3  import tkinter as tk   class Application(tk.Frame):   def __init__(self, master=None):  tk.Frame.__init__(self, master)  self.grid()  self.createWidgets()   def createWidgets(self):  self.mondialLabel = tk.Label(self, text='Hello World')  self.mondialLabel.config(bg="#00ffff")  self.mondialLabel.grid()  self.quitButton = tk.Button(self, text='Quit', command=self.quit)  self.quitButton.grid()   app = Application() app.master.title('Sample application') app.mainloop() 
  • 第1行:程序的Hashbang指令英语Interpreter directive,允许在自执行时选择合适的解释器。[10]
  • 第3行:将tkinter模块导入程序的命名空间,但为其设置别名tk。
  • 第6行:Application类继承自Tkinter的Frame类。
  • 第8行:定义设置Frame的函数。
  • 第9行:调用父类Frame的构造函数。
  • 第13行:定义小部件。
  • 第14行:创建一个名为MondialLabel的标签,其文本为“Hello World”。
  • 第15行:将MondialLabel的背景颜色设置为青色。
  • 第16行:将标签放置在Application上,使其使用grid()几何管理器方法可见。
  • 第17行:创建一个带有文字“Quit”的按钮。
  • 第18行:将按钮放置在应用程序上。grid、place和pack都是使小部件可见的方法。
  • 第21行:主程序从这里开始,创建Application类的实例。
  • 第22行:调用这个方法将窗口标题设置为“Sample application”。
  • 第23行:启动程序的主循环,监听鼠标和键盘事件。

参考资料 编辑

  1. ^ Shipman, John W., , New Mexico Tech Computer Center, 2010-12-12 [2012-01-11], (原始内容存档于2014-07-03) 
  2. ^ . [2013-11-13]. (原始内容存档于2013-11-13). 
  3. ^ . [2009-03-12]. (原始内容存档于2012-10-18). 
  4. ^ . [2021-06-25]. (原始内容存档于2020-06-16). 
  5. ^ . [2021-06-25]. (原始内容存档于2010-04-19). 
  6. ^ Python subversion revision 69051, which resolves issue #2983 by adding the ttk module. 
  7. ^ . [2021-06-25]. (原始内容存档于2016-12-04). 
  8. ^ Fleck, Dan. (PDF). CS112. George Mason University. [18 August 2018]. (原始内容 (PDF)存档于2020-08-09). 
  9. ^ Klein, Bernd. . www.python-course.eu. [18 August 2018]. (原始内容存档于2021-07-20). 
  10. ^ . [2017-06-07]. (原始内容存档于2021-06-29). 

外部链接 编辑

  • , Python Wiki, [2021-06-25], (原始内容存档于2020-06-16) 
  • Tkinter GUI Tutorial (页面存档备份,存于互联网档案馆):分别涵盖每个小部件。
  • Lundh, Fredrik, An Introduction to Tkinter, 1999 [2021-06-25], (原始内容存档于2012-10-19) 
  • TkDocs (页面存档备份,存于互联网档案馆):包括Python信息和教程
  • Ferg, Stephen, , [2022-05-18], (原始内容存档于2021-03-07) 

tkinter, 是tk, gui工具包的python绑定包, 它是tk, gui工具包的标准python接口, 并且是python的业界标准gui工具包, 同时也包含在python的linux, microsoft, windows和mac, x标准库中, 的名字来自tk, interface, 開發者fredrik, lundh, 编程语言python操作系统跨平台许可协议python许可证, 网站docs, python, library, tkinter, html, 目录, 描述, 定义, 窗口, 顶层窗. Tkinter是Tk GUI工具包的Python绑定包 它是Tk GUI工具包的标准Python接口 3 并且是Python的业界标准GUI工具包 4 Tkinter同时也包含在Python的Linux Microsoft Windows和Mac OS X标准库中 Tkinter的名字来自Tk interface Tkinter開發者Fredrik Lundh 1 编程语言Python操作系统跨平台许可协议Python许可证 2 网站docs wbr python wbr org wbr 3 wbr library wbr tkinter wbr html 目录 1 描述 2 定义 2 1 窗口 2 2 顶层窗口 2 3 小工具 2 4 框架 2 5 父小部件和子小部件 3 小型应用程序 4 创建过程 4 1 创建 4 2 配置 4 3 打包 4 4 绑定 5 简单的程序 6 参考资料 7 外部链接描述 编辑和大多数现代Tk绑定包一样 Tkinter是透過嵌入在Python解释器中的完整Tcl解释器来包装Python实现的 Tkinter的调用被翻译成Tcl命令 这些命令被提供给这个嵌入式解释器 從而使得在單個程序中可混合Python和Tcl 它也有几种流行的GUI库可用作替代 例如wxPython PyQt PySide Pygame Pyglet和PyGTK 定义 编辑窗口 编辑 该词在不同的文中具有不同的含义 通常指用户显示屏上的某处矩形区域 顶层窗口 编辑 指主窗口的子窗口 它将以桌面环境的标准框架和控件装饰 它可以在桌面上移动 通常也可以调整大小 小工具 编辑 指图形用户界面中构成应用程序的任何构建块 核心小部件 容器 框架 标签框架 顶层 窗格窗口 按钮 按钮 单选按钮 复选按钮 复选框 和菜单按钮 文本小部件 标签 消息 文本 条目小部件 缩放 滚动条 列表框 滑块 旋转框 条目 单行 选项菜单 文本 多行 和画布 矢量和像素图形 Tkinter 提供了三个允许显示弹出对话框的模块 tk messagebox 确认 信息 警告和错误对话框 tk filedialog 单文件 多文件和目录选择对话框 和 tk colorchooser 颜色选择器 Python 2 7和Python 3 1合并了Tk 8 5的 主题 Tk ttk 功能 5 6 这使得Tk小部件可以轻松地主题化 使其看起来像运行应用程序的本机桌面环境 从而解决长期以来对Tk 以及因此对Tkinter 的批评 一些小部件是 ttk 独有的 例如组合框 进度条和树状视图小部件 框架 编辑 在Tkinter中 Frame 框架 小部件是复杂布局的基本组织单位 框架是一个矩形区域 可以包含其他小部件 父小部件和子小部件 编辑 创建任何小部件时 都会创建父子关系 例如 如果将文本标签放置在框架内 则框架是标签的父小部件 小型应用程序 编辑这是一个带有小部件的小型Python 3 Tkinter应用程序 7 usr bin env python3 from tkinter import root Tk 创建根窗口 w Label root text Hello world 创建一个带有单词的标签 w pack 把标签放进窗口中 root mainloop 开始主循环 对于 Python 2 唯一的区别是import命令中的 tkinter 是大写的 Tkinter 页面存档备份 存于互联网档案馆 8 创建过程 编辑创建小部件有四个步骤 9 创建 编辑 在框架内创建一个小部件 配置 编辑 更改这个小部件的属性 打包 编辑 将它打包到指定的位置 使其可见 开发人员还可以选择使用 grid row 整数 column 整数 定义行和列来定位小部件 默认为 0 或 place relx 整数或小数 rely 整数或小数 定义框架或窗口中的坐标 绑定 编辑 将其绑定到函数或事件 这些步骤通常被简化 并且顺序可能会不同 简单的程序 编辑这是一个在 Python 中使用面向对象的简单的程序 使用Tcl 8 6 但MacOS上的Python默认不使用它 usr bin env python3 import tkinter as tk class Application tk Frame def init self master None tk Frame init self master self grid self createWidgets def createWidgets self self mondialLabel tk Label self text Hello World self mondialLabel config bg 00ffff self mondialLabel grid self quitButton tk Button self text Quit command self quit self quitButton grid app Application app master title Sample application app mainloop 第1行 程序的Hashbang指令 英语 Interpreter directive 允许在自执行时选择合适的解释器 10 第3行 将tkinter模块导入程序的命名空间 但为其设置别名tk 第6行 Application类继承自Tkinter的Frame类 第8行 定义设置Frame的函数 第9行 调用父类Frame的构造函数 第13行 定义小部件 第14行 创建一个名为MondialLabel的标签 其文本为 Hello World 第15行 将MondialLabel的背景颜色设置为青色 第16行 将标签放置在Application上 使其使用grid 几何管理器方法可见 第17行 创建一个带有文字 Quit 的按钮 第18行 将按钮放置在应用程序上 grid place和pack都是使小部件可见的方法 第21行 主程序从这里开始 创建Application类的实例 第22行 调用这个方法将窗口标题设置为 Sample application 第23行 启动程序的主循环 监听鼠标和键盘事件 参考资料 编辑 Shipman John W Tkinter reference a GUI for Python New Mexico Tech Computer Center 2010 12 12 2012 01 11 原始内容存档于2014 07 03 Archived copy 2013 11 13 原始内容存档于2013 11 13 Tkinter Python interface to Tcl Tk Python v2 6 1 documentation 2009 03 12 原始内容存档于2012 10 18 Tkinter Pythoninfo Wiki 2021 06 25 原始内容存档于2020 06 16 Python issue 2983 Ttk support for Tkinter 2021 06 25 原始内容存档于2010 04 19 Python subversion revision 69051 which resolves issue 2983 by adding the ttk module Tkinter 8 5 reference a GUI for Python 2021 06 25 原始内容存档于2016 12 04 Fleck Dan Tkinter GUIs in Python PDF CS112 George Mason University 18 August 2018 原始内容 PDF 存档于2020 08 09 Klein Bernd GUI Programming with Python Events and Binds www python course eu 18 August 2018 原始内容存档于2021 07 20 PEP 397 Python launcher for Windows Python org 2017 06 07 原始内容存档于2021 06 29 外部链接 编辑TkInter Python Wiki 2021 06 25 原始内容存档于2020 06 16 Tkinter GUI Tutorial 页面存档备份 存于互联网档案馆 分别涵盖每个小部件 Lundh Fredrik An Introduction to Tkinter 1999 2021 06 25 原始内容存档于2012 10 19 TkDocs 页面存档备份 存于互联网档案馆 包括Python信息和教程 Ferg Stephen Thinking in Tkinter 2022 05 18 原始内容存档于2021 03 07 取自 https zh wikipedia org w index php title Tkinter amp oldid 71691099, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。