# 使用图像
PAGE中图像的使用令人困惑。好消息是您可以将图像与各种小部件一起使用,例如按钮,菜单和TNotebooks。您可以通过按钮的属性编辑器和笔记本的选项卡编辑器选择图像文件。同样,菜单编辑器将允许您将图像放置在菜单中。
图像是通过“属性编辑器”中的“图像”属性指定的,其中的省略号按钮允许选择一个图像文件。图像文件的位置相对于项目目录保留。因此,将GUI映像放在项目目录中。
现在为混乱的部分。只要图像是GIF,PGM或PNG图像,而不是JPG或其他图像格式,则可以最轻松地使用它们。这是因为Tcl / Tk 8.6仅支持GIF,PGM或PNG图像格式。
安装了Img软件包后,可以使用包括JPG格式在内的多种图像格式。幸运的是,ActiveTcl软件包以及Magicsplat软件包都包含Imp。但是,Raspbian用户将必须使用类似以下的方法安装libtk-img软件包:
~~~
sudo apt-get install libtk-img
~~~
为了使生成的Python代码支持包括JPG在内的各种图像格式,必须安装Python图像库PIL。 提供PIL的Python软件包为Pillow,可从https://pypi.org/project/Pillow/2.2.1/获得。 Raspbian用户可以使用以下命令安装“ python-pil”软件包
~~~
sudo apt-get install python-pil
~~~
当PAGE包含图像时,将创建图像对象并根据文件名指定名称。例如,基于文件“ gimp.png”的对象名称将是“ gimp\_png”。该对象用于窗口小部件配置中。在“属性编辑器”中选择图像按钮并选择图像文件时,将生成图像对象,并且其名称显示在图像输入字段中。尽管可以想象将名称手动添加到属性编辑器的图像输入字段中,但我认为这是个坏主意;实际上,如此糟糕,以至于我从版本4.10起就禁用了这些输入字段。您必须通过输入字段旁边的省略号按钮来选择图像。我也为输入字段添加了颜色,以便您意识到这是一个禁忌。欢迎再次发表评论。
项目文件和生成的Python代码引用所有使用的图像文件图像。这些文件引用是相对于项目目录的。几乎需要将要使用的映像与构建应用程序的映像放在同一目录中,甚至最好是该目录的子目录。这将有助于移动项目或共享它。因此,请将图像和项目放在一起。请参阅[项目目录配置]()。
同样,图像选项与复合选项结合在一起,复合选项指定图像位置与文本位置之间的关系。 Tk的默认值为“ none”,这意味着如果同时指定了文本和图像,则小部件将仅显示图像。简而言之,如果选择“无”,则仅显示图像,否则显示图像和测试。对于按钮小部件,我通常要选择“ none”作为复合值,但是对于菜单和笔记本小部件,“ left”是我通常的选择。
从版本4.24开始,如果图像已经在目标项目目录中的相同相对位置,则可以使用图像剪切-粘贴-粘贴小部件。例如,如果要复制的小部件在“ ./images”位置包含一个图像,则在粘贴操作之前,该图像必须位于目标项目目录中的“ ./images”中。当剪切复制粘贴操作是借用操作的一部分时,也是如此。
同样,如果您使用小部件图像分发应用程序,则接收方必须将应用程序及其小部件图像保持在相同的相对位置。
- 介绍
- 更新记录
- 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的应用程序
- 修改光标
- 使用图像
- 动态组件
- 菜单
- 重建
- 自动更新支持模块
- 重用
- 模板
- 从现有项目中借用组件
- 范例
- 结语