---恢复内容开始---
最近在自学python,对tkinter模块很感兴趣,想要了解一下其中具体的控件使用方法,但是在网络上没有找到详细的相关介绍。无奈只有去docs上查看英语介绍。为了方便以后查看,直接将英语翻译过来贴在这里。
25.1 tkinter ——Python Tcl/Tk 接口
tkinter模块是典型的Python Tk GUI工具箱接口。Tk和tkinter可用于大多数Unix平台和Windows系统(T看本身不是Python的一部分,它由ActiveState来维护)。你可以通过命令行运行 python -mtkinter 来检测tkinter是否已正确安装。他会打开一个显示简单的Tk界面的窗口。
--------------------------------------------------------------------------------------
看看其他内容:
The Python Tkinter Topic Guide provides a great deal of information on using Tk from Python and links to other sources of information on Tk.
Extensive tutorial plus friendlier widget pages for some of the widgets.
On-line reference material.
Online reference for tkinter supported by effbot.org.
Official manual for the latest tcl/tk version.
Book by Mark Lutz, has excellent coverage of Tkinter.
Book by Mark Rozerman about building attractive and modern graphical user interfaces with Python and Tkinter.
The book by John Grayson (ISBN 1-884777-81-3).
--------------------------------------------------------------------------------------
25.1.1. Tkinter模块
大多数时候,tkinter是你真正需要的,但是也有其他一些模块可以替代。Tk接口基于_tkinter,这个模块包括一些不会被直接使用的低级的Tk接口。他通常是一个可分享的字典(或者DLL),但是某些情况下是一个Python注释器的静态链接。
除了Tk接口模块外,tkinter也包括一些其他模块,tkinter.constants是重要部分之一。导入tkinter同时也意味着导入tkinter.constants,所以通常情况下,一个简单的陈述就可以使用所有Tkinter模块:
import tkinter
更常见的是:
from tkinter import *
class tkinter.Tk(screenName=None,baseName=None,className='Tk',useTk=1)
Tk类实例化没有参数。它创建了一个顶层窗口,即应用程序的主窗口。每个实例都有它自己关联的Tcl注释器。
tkinter.Tcl(screenName=None,baseName=None,className='Tk',useTk=0)
Tcl()函数是一个创建对象的工厂函数,和Tk创建的很相像,区别在于它没有初始化Tk子系统。通常用于当你不想创建(或者不能创建,比如没有X服务器的Unix/Linux系统)无关联的顶层窗口的情况下。一个由Tcl()创建的对象可以通过使用自身的loadtk()方法来创建顶层窗口。
其他提供Tk支持的模块包括:
Text widget with a vertical scroll bar built in.(拥有垂直滚动条的文本框控件)
tkinter.colorchooser
Dialog to let the user choose a color.(让用户选择颜色的对话框)
tkinter.commondialog
Base class for the dialogs defined in the other modules listed here.(定义另一个模块的对话框的基础类在这里罗列)
tkinter.filedialog
Common dialogs to allow the user to specify a file to open or save.(允许用户打开或保存文件的对话框)
tkinter.font
Utilities to help work with fonts.(字体设置的实用工具)
tkinter.messagebox
Access to standard Tk dialog boxes.(使用标准Tk对话框)
tkinter.simpledialog
Basic dialogs and convenience functions.(基本的对话框和便利的功能)
tkinter.dnd
Drag-and-drop support for tkinter. This is experimental and should become deprecated when it is replaced with the Tk DND.
Turtle graphics in a Tk window.(窗口的标题显示)
25.1.2. Tkinter保护工具
这一章节并不详尽的对Tk或Tkinter进行指导,而是对这个系统做一个介绍。
Credits:
Tk was written by John Ousterhout while at Berkeley.
Tkinter was written by Steen Lumholt and Guido van Rossum.
This Life Preserver was written by Matt Conway at the University of Virginia.
The HTML rendering, and some liberal editing, was produced from a FrameMaker version by Ken Manheimer.
Fredrik Lundh elaborated and revised the class interface descriptions, to get them current with Tk 4.2.
Mike Clarkson converted the documentation to LaTeX, and compiled the User Interface chapter of the reference manual.
25.1.2.1.怎样使用这部分内容
这部分分两块:前半部分包括背景材料,便于为后半部分提供参考。
当你想要回答“如何去做什么什么。。。”这样的问题时,你最好先解决怎样在Tk中实现它,然后再把它转变成相应的Tkinter方法。Python程序员总是可以通过查阅Tk文件猜出正确的python指令。这意味着为了使用Tkinter,你必须要对Tk有些了解。本文档不能够涵盖全部的相关规则,我们能做的只是指引你发现现存的最好的文件。这里是一些提示:
作者强烈建议备份一份Tk手册页。尤其是在manN目录下的手册页。
Addison-Wesley 出版了一本叫做Tcl and the Tk Toolkit by John Ousterhout (ISBN 0-201-63337-X)的书,很好的为初学者介绍了Tcl and Tk。
tkinter/__init__.py 是大多数情况下最后的手段,但是确实当你找不到有意义的东西时的一个好去处。
看看其他东西:
The Tcl/Tk manual on www.tcl.tk.
The Tk/Tcl development is largely taking place at ActiveState.
The book by John Ousterhout, the inventor of Tcl.
Brent Welch’s encyclopedic book.
25.1.2.2. 简单的hello world程序
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.hi_there = tk.Button(self)
self.hi_there["text"] = "Hello World\n(click me)"
self.hi_there["command"] = self.say_hi
self.hi_there.pack(side="top")
self.QUIT = tk.Button(self, text="QUIT", fg="red",
command=root.destroy)
self.QUIT.pack(side="bottom")
def say_hi(self):
print("hi there, everyone!")
root = tk.Tk()
app = Application(master=root)
app.mainloop()
---恢复内容结束---
============================================================
马上要翻译完了结果浏览器崩溃!!!!!自动保存只保存到这里。。。感觉不会再爱了T.T 算了就先翻译这些吧 其他的日后再战