# Borrowing Widgets from Existing Projects
通过借用一个,可以检索并打开一个现有项目,在打开当前项目的同时,我将其称为“贷款人GUI”,然后从现有GUI复制元素并将其粘贴到当前GUI上。例如,一个GUI中可能有一个带有按钮阵列的框架,并想在另一个项目中复制它。
PAGE将仅使用一个GUI来构建项目,但是通过版本4.10中引入的这一新功能,用户可以使用现有的剪切,复制和粘贴功能从现有项目中打开GUI,并将该GUI用作小部件定义的来源。 。通过从“文件”菜单中选择“借用”命令来调用此功能。
Lender GUI是只读的,意味着保存功能将忽略它,而在磁盘上保持不变。因此,不必担心您可能会对Lender GUI进行更改。同样,您无法对要保存的Lender GUI进行更改。
通过文件->借用菜单项打开贷款人GUI。当它打开时,顶级背景设置为Plum,以便用户将其识别为Lender GUI。我选择Plum,是因为我怀疑许多用户会选择Plum作为顶级背景色。贷款人GUI甚至有可能重叠或遮盖当前正在构建的GUI;在这种情况下,只需将其移到侧面即可显示当前的GUI。
此功能需要对项目tcl文件的格式进行较小的更改。这意味着在版本4.10之前创建的项目文件必须先打开并保存,然后才能成为贷方。切记使用“另存为”而不是“保存”,后者仅在主GUI更改后才保存。
借用的一个特殊副作用是,如果Lender GUI碰巧具有上下文(弹出)菜单,它们将被合并到主GUI中。那是因为我在上下文菜单中可以找到的所有文档都使用root作为父级,而不是顶层窗口。所以我也是这可能还不错,因为如果您不绑定它们,它们将永远不会被调用。此外,如果您借用了绑定到弹出窗口的小部件,则您可能希望将菜单和小部件都移到菜单上方。如果不需要,可以轻松地从窗口小部件树中删除上下文窗口小部件。征求意见。
在版本4.11中,可以将Lender GUI中的菜单栏复制并粘贴到当前GUI中。要做到这一点
* 使用Button-3选择小部件树中的Menu Bar条目,然后选择弹出菜单的Copy条目,使用Button-3选择顶层窗口。
* 在弹出窗口中选择“复制”条目。
* 使用Button-3选择“顶级GUI”窗口。
* 在弹出窗口中选择“粘贴”条目。
* 在顶级GUI窗口中的任何位置按Button-1。
如果任何借用的窗口小部件具有图像,则必须在粘贴操作之前将图像文件复制到新项目目录,并且它们必须在新项目目录中处于相同的相对位置。 也就是说,如果图像路径是例如“ ./images/image.png”,那么新目录中的图像路径也应该是“ ./images/image.png”。 如果粘贴操作之前没有图像文件,则过去的操作将失败。当完成一个借出的GUI时,人们很想靠角落里的小“ x”来关闭窗口。 更好的方法是选择顶级窗口小部件,然后在Button-3获得的窗口小部件菜单中使用“删除”命令。借阅是一项新功能,因此请报告遇到的任何问题。
- 介绍
- 更新记录
- 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的应用程序
- 修改光标
- 使用图像
- 动态组件
- 菜单
- 重建
- 自动更新支持模块
- 重用
- 模板
- 从现有项目中借用组件
- 范例
- 结语