PySimpleGUI 框架元素
框架元素是一个容器对象,可以容纳其他类型的元素。它有助于以一种逻辑的方式组织GUI元素。例如,属于同一组的多个单选按钮元素被放在一个框架内。它在元素周围形成一个矩形的边界。框架可以有一个标签,并可以按照要求放置。
PySimpleGUI.Frame(title, layout, title_location)
标题参数是作为Frame的 “标签 “或标题显示的文本。Frame对象可以被看作是主窗口布局的一个子布局。它也可以是一个元素的列表。
title_location “是一个枚举字符串,决定标签在框架中的位置。预定义的值是TOP, BOTTOM, LEFT, RIGHT, TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, 和 BOTTOM_RIGHT。
框架对象通常不作为事件监听器使用。尽管如此,当点击框架的区域时,它的标题可以被更新,尽管这个功能很少被使用。
下面的代码与复选框的例子相同。在这里,用于选择学院的三个单选按钮和作为复选框的所选学院的科目被放在单独的框架中。
import PySimpleGUI as psg
psg.set_options(font=("Arial Bold", 14))
l1 = psg.Text("Enter Name")
l2 = psg.Text("Faculty")
l3 = psg.Text("Subjects")
l4 = psg.Text("Category")
l5 = psg.Multiline(" ", expand_x=True, key='-OUT-', expand_y=True, justification='left')
t1 = psg.Input("", key='-NM-')
rb = []
rb.append(psg.Radio("Arts", "faculty", key='arts', enable_events=True, default=True))
rb.append(psg.Radio("Commerce", "faculty", key='comm', enable_events=True))
rb.append(psg.Radio("Science", "faculty", key='sci', enable_events=True))
cb = []
cb.append(psg.Checkbox("History", key='s1'))
cb.append(psg.Checkbox("Sociology", key='s2'))
cb.append(psg.Checkbox("Economics", key='s3'))
b1 = psg.Button("OK")
b2 = psg.Button("Exit")
rlo = psg.Frame("Faculty", [rb], title_color='blue')
clo = psg.Frame("Subjects", [cb], title_color='blue')
layout = [[l1, t1], [rlo], [clo], [b1, l5, b2]]
window = psg.Window('Frame Example', layout, size=(715, 200))
程序的 输出结果 如下所示 –