# 结语
## 最终建议
我的最终建议是
* Save often.
* Spring for Grayson’s book.
* Save often.
* Please report problems.
## 致谢
首先,感谢惠普为我分配了PAGE的权限,这使我可以将它提供给Python社区。
同样,让我承认PAGE是建立在Visual Tcl之上的。没有这项工作,我将不知道如何开始。
乔治·泰拉洛夫(George Tellalov)向我介绍了相对安置,并提出了许多有用的建议。
Guilherme Polo在实施和记录Pyttk方面做得非常出色。他帮助我了解了几个新的ttk小部件,并展示了如何轻松构建它们的滚动版本。他的文档说服了我使用Sphinx作为PAGE文档。
我要特别感谢Greg Walters,他写了一系列有关Python编程的文章,其中包括PAGE上的两篇文章,并感谢他鼓励我让Alias功能正常工作。 (请参阅下面的参考资料和URL。)我从他的文章中借用了上面示例中的繁忙光标代码。今年,2018年,他编写了一个学习PAGE的教程,该教程包含在文档目录“ / page / docs / tutorial”中。他也一直是好主意的代表。
我要感谢肯特·福克斯(Kent Fox)在协助在三个系统上测试PAGE并揭示一些错误的工作。
我从Le site de Jack借了ColorDlg.tcl颜色选择器。我感到非常满意,谢谢。
还借用了William J. Poser撰写的ColorExplorer。
Alexander Walters提出了导入PAGE 4.1中采用的tkinter和ttk模块的代码。
Sam Manzi提出了许多有用的建议,并帮助测试了PAGE的最新版本。
许多人已经报告了错误并提出了建议。 Piero Ronchi和Paul Kreiger尤其有用。此外,Paul Kreiger捐赠了一组PAGE图标和一个画布示例。
Bob Stanton建议在单独的Python控制台中同时显示GUI模块和支持模块,并建议使用这两个模块启动IDE。两者都是极好的主意,因此得以实施。
Maksim Korzh是4.10版主要功能的灵感和实现者-包括PNotebook功能,该功能是带有内置标签关闭功能的笔记本小部件。我发现Ttk风格令人迷惑并且没有记载;我永远都不会想出来。
Steffen Illhardt帮助我更好地理解了在不同国家和操作系统之间传输文件时涉及的编码问题,并且他还提供了PAGE的代码更改,从而减少了问题。
## 文档
许多人在尝试将Tkinter与python结合使用时必须遇到的一个问题是找到足够的文档。我特别依赖Grayson的书,以了解如何将各种tcl调用和配置选项映射到python调用中,以及有关可用功能的说明。如果没有这个参考资料,我将一无所获。不幸的是,格雷森比ttk小部件早了几年。
另一个非常有用的参考是:[Fredrik Lundh撰写的Tkinter简介](http://www.pythonware.com/library/tkinter/introduction/index.htm)。
几年前,格雷格·沃尔特斯(Greg Walters)发表了几篇有关使用PAGE的出色文章。现在它们有些过时了,但是他写了一个非常好的教程,可以在“ page / docs / tutorial”子目录中找到他的示例代码。可通过他的新网站[TheDesignatedGeek](http://thedesignatedgeek.xyz/)获得有关Python编程的长篇文章。
我还发现了New Mexico Tech的John W. Shipman编写的[Tkinter 8.5参考:Python GUI](http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html)。
另请参见[http://effbot.org](http://effbot.org),其中包含数百篇有关Python和相关技术(包括PIL,ElementTree,Tkinter和其他扩展)的文章。我已经多次使用此参考。
有关Tcl / Tk文档的信息,请访问:[Tcl开发人员站点](http://tcl.activestate.com/)。
[TkDocs](http://www.tkdocs.com/tutorial/index.html)是一个非常有用的Tk教程,其中包含有关ttk小部件和样式的信息。
由于有些人发现Python Lambda的用法令人困惑,因此Grant Hilebrand建议在[https://pythonconquerstheuniverse.wordpress.com/2011/08/29/lambda\_tutorial/](https://pythonconquerstheuniverse.wordpress.com/2011/08/29/lambda_tutorial/)上包含对出色教程的引用。
不幸的是,没有像许多开源项目那样有用的Visual Tcl文档。
我最近在SourceForge摘要页面“[常规讨论](https://sourceforge.net/p/page/discussion/?source=navbar)”中打开了一个讨论论坛。
有关在Python模块之间共享变量和函数的信息,请参见如何在模块之间共享全局变量。一个很好的参考是[如何在模块之间共享全局变量?](http://effbot.org/pyfaq/how-do-i-share-global-variables-across-modules.htm)
## 报告问题
我非常欢迎报告问题; 这是我可以抓住其中许多人的唯一方法。 向“ gmail.com的Don Dot Rozenberg”报告问题时,请包括以下内容:
* The version number of PAGE.
* The OS you are using.
* 当PAGE死亡时,它通常会显示一个错误窗口,该窗口带有一个“向后追溯”按钮,如果选中该按钮,则会产生一个单独的窗口,其中包含一个PAGE追溯向后的页面,指示有问题或有问题的代码。 如果可能,请给我发送该窗口的屏幕截图。
* 如果可能,导致错误的tcl文件。 导致相同错误的简单情况会更好。
如果您的主题包含PAGE一词,我的电子邮件阅读器会将邮件放在一个单独的文件夹中,我会尽快在该文件夹中看到它。
- 介绍
- 更新记录
- X Concepts
- Visual Tcl
- 使用PAGE设计范例
- 项目目录配置
- Python 2 or Python 3
- Python编码和UTF-8
- 使用PAGE的简短说明
- PAGE的状态
- 安装
- PAGE界面
- 主菜单
- 子菜单
- 组件工具栏
- 属性编辑器
- 组件树
- 绑定操作窗口
- 菜单编辑器
- 首选项窗口
- Python控制台
- 回调窗口
- 应用窗口
- 颜色对话框
- 颜色
- 双显示器
- 默认值和首选项
- Preferences Windows
- Color Preferences
- Font Preferences
- 模块结构
- 风格和主题
- 使用PAGE
- 命名约定
- 概述
- Toplevel Geometry
- 别名
- 气球帮助-工具提示
- 选择和修改组件
- 修改组件位置和尺寸
- 锁定组件
- 填充容器
- 剪切,复制和粘贴
- Stash and Apply - Propagate Widget Options
- 菜单组件
- 回调函数
- 将事件链接到回调函数
- 创建绑定
- 为滚动组件创建绑定
- 定义回调函数
- 查看回调
- 指定字体
- Toplevel Widget
- 相对位置
- Tkinter变量类
- Ttk Widgets
- Scrolled Widgets
- Ttk Notebook and PNotebook
- Ttk Panedwindow
- Ttk Treeview
- Entry
- Ttk Entry
- Ttk Combobox
- Radiobuttons
- 文本和变量的奇异性
- Label
- Listbox
- Spinbox
- Scale and TScale
- TSeparator
- Sizegrip
- Custom Widgets
- Canvas
- 生成,检查和运行Python GUI
- 创建和保存代码模块
- 检查生成的Python模块
- 执行Python模块
- 将生成的Python模块加载到IDE中
- 具有多个顶级Windows的应用程序
- 修改光标
- 使用图像
- 动态组件
- 菜单
- 重建
- 自动更新支持模块
- 重用
- 模板
- 从现有项目中借用组件
- 范例
- 结语