pysimplegui之元素常用属性
常用元素参数
您将在几乎所有元素创建调用中看到的一些参数包括:
- key - 与 window[key]、事件和返回值字典一起使用
- 工具提示tooltip - 将鼠标悬停在元素上,您将获得包含此文本的弹出窗口
- size - (width, height) - 通常以字符宽、行高为单位。有时它们意味着像素
- font - 指定字体系列、大小等。
- 颜色coleor - 颜色名称或 #RRGGBB 字符串
- pad - 放置在元素周围的填充量
- enable_events - 打开元素特定的事件
- 可见visible - 使元素出现和消失
工具提示
工具提示是文本框,如果您将鼠标悬停在元素顶部,则会在元素旁边弹出。如果您想对窗口的用户更加友善,那么您可以通过将参数设置tooltip
为一些文本字符串来为他们创建工具提示。您将需要提供自己的换行符/文本换行。如果您不想手动添加它们,请查看标准库包textwrap
。
工具提示是真正修饰 GUI 并显示复杂程度的“抛光”项目之一。来吧,给人们留下深刻印象,在你的 GUI 中加入一些工具提示。TOOLTIP_BACKGROUND_COLOR
您可以通过设置为您选择的颜色字符串来更改 PySimpleGUI 的 tkinter 版本上工具提示的背景颜色。颜色的默认值为:
TOOLTIP_BACKGROUND_COLOR = "#ffffe0"
尺寸
有关设置默认元素大小的信息在上面的窗口部分中讨论。
指定为元素保留的空间量。对于基于字符的元素,例如文本,它是(# 个字符,# 行)。有时它是像素测量值,例如 Image 元素。有时像 Slider 元素上的混合(字符长 x 像素宽)。
某些元素(文本和按钮)具有on
默认的自动大小设置。它将根据内容调整元素的大小。结果是按钮和文本字段将是创建它们的字符串的大小。你可以把它关掉。例如,对于按钮,效果将是所有按钮在该窗口中的大小相同。
从 4.47.0 版开始,大小也可以是int
元组的补充。如果指定了 int,则将该值作为宽度,并将高度设置为 1。如果给定size=12
,则与size=(12,1)
元素大小 - 非 tkinter 端口(Qt、WxPython、Web)
在非 tkinter 端口中,您可以通过 2 种方式设置特定的元素大小。一种是使用size
您习惯使用的普通参数。这将在字符和行中。
另一种方法是使用新参数size_px
. 此参数允许您直接以像素为单位指定大小。设置size_px=(300,200)
将创建一个 300 x 200 像素的元素。
此外,如果大小超过转换阈值size
,您还可以使用参数指示像素。 这意味着什么?这意味着如果您的宽度 > 20 ( ),则假定您说的是像素,而不是字符。但是,某些“通常较大”的元素的截止值为 100。例如,这些元素包括 the和元素。DEFAULT_PIXEL_TO_CHARS_CUTOFF
Multline
Output
如果您对用于将字符转换为像素的数学运算感到好奇,它非常粗糙,但很实用。转换在此变量的帮助下完成:
DEFAULT_PIXELS_TO_CHARS_SCALING = (10,26)
转换只需将您size[0]
乘以 10,然后将您size[1]
乘以 26。
将大小指定为 INT
从版本 4.47.0 开始,您可以指定单个 int 作为大小。这会将大小设置为单行高度 (1)。写作size=10
现在和写作一样size=(10,1)
。当您指定大小和 int 时,会代表您创建一个元组。这将节省大量的输入,尤其是对于通常只有 1 行或只能有 1 行的元素。
颜色
表示颜色的字符串。任何时候涉及颜色时,您都可以指定 tkinter 颜色名称,例如“lightblue”或 RGB 十六进制值“#RRGGBB”。对于按钮,颜色参数是一个元组(文本颜色,背景颜色)
任何时候在 PySimpleGUI 中将颜色写成元组时,找出哪种颜色是背景的方法是将“,”替换为单词“on”。('white', 'red') 指定“红底白字”的按钮。适用于任何有颜色元组的地方。
软垫
元素周围的空间量(以像素为单位)。默认值为 (5,3),这意味着在 x 轴的每一侧保留 5 个像素,在 y 轴的每一侧保留 3 个像素。您可以使用对 SetOptions 的调用在全局基础上或在元素基础上更改此设置。
如果您希望一侧的像素多于另一侧,则可以将数字拆分为 2 个数字。如果您希望左侧有 200 个像素,右侧有 3 个像素,则焊盘将是 ((200,3), 3)。在此示例中,仅拆分 x 轴。
将 pad 指定为 INT
从版本 4.47.0 开始,可以将 pad 设置为 int 而不是元组。如果指定了 int,则 pad 被设置为一个元组,每个位置都与 int 相同。如果您对焊盘使用诸如 (0,0) 之类的值,这将显着减少布局中的代码。这不是一个不常见的值。现在你可以写pad=0
了,你会得到和你输入一样的结果pad=(0,0)
字体
指定字体系列、大小和样式。Windows 上的字体系列包括:* Arial * Courier * Comic、* Fixedsys * Times * Verdana * Helvetica(我认为的默认值)
字体会因系统而异,但是,Tk 8.0 会自动将 Courier、Helvetica 和 Times 映射到所有平台上相应的本地姓氏。此外,字体系列不会导致字体规范在 Tk 8.0 及更高版本上失败。
如果您希望将字体系列设置为默认值,您可以将字体名称以外的任何内容作为系列。PySimpleGUI 演示程序和文档使用“Any”系列来证明这一事实。如果您更清楚,您可以使用“默认”。
有 2 种格式可用于指定字体……一个字符串和一个元组 Tuple - (family, size, styles) String - “Family Size Styles”
要指定带下划线的 Helvetica 字体,大小为 15,值: ('Helvetica', 15, 'underline italics') 'Helvetica 15 underline italics'
字体样式 - 有效的字体样式包括:
- 斜体italic
- 罗马roman
- 胆大bold
- 普通的normal
- 强调underline
- 过度罢工overstrike
具有多种样式的示例是:
font='Courier 12 italic bold underline overstrike'
相同的样式可以用于字体的元组格式。
钥匙
请参阅上面包含有关键的完整信息的部分。
可见的
从版本 3.17 开始,您可以创建最初不可见的元素,以后可以使其可见。
要创建不可见元素,请像往常一样将元素放置在布局中并添加参数
visible=False
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了