PySimpleGUI - Frame 框架元素
Frame 框架元素是一个容器对象,它包含一个或多个其他类型的元素。 它有助于以逻辑方式组织 GUI 元素。 例如,属于同一组的多个单选按钮元素放在一个框架内。 它在元素周围形成一个矩形边框。 框架可以有标签,可以根据要求放置。
PySimpleGUI.Frame(title, layout, title_location)
title 参数是显示为框架的"标签"或标题的文本。 Frame 对象可以看作是主窗口布局的子布局。 它也可以是元素列表的列表。
"title_location"是一个枚举字符串,用于确定标签在框架中的位置。 预定义值为 TOP、BOTTOM、LEFT、RIGHT、TOP_LEFT、TOP_RIGHT、BOTTOM_LEFT 和 BOTTOM_RIGHT。
Frame 对象通常不用作事件侦听器。 尽管如此,当点击框架区域时,它的标题可以更新,尽管这个功能很少使用。
以下代码与用作复选框示例的代码相同。 在这里,用于选择学院的三个单选按钮和所选学院中的科目作为复选框放在单独的框架中。
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))
程序的输出如下所示 −