#python #user-interface #pysimplegui
Вопрос:
Как я могу достичь вложенности кадров таким образом. Один левый кадр (Кадр 1), один Правый (Кадр 2). С другим кадром (Кадр 3), вложенным внутрь, но под содержимым левого кадра?
Позволяет ли это форматирование?
Ответ №1:
Снаружи внутрь для вашего дизайна
- Левый Фрейм1, правый Фрейм2 в основной компоновке
layout = [ [sg.Frame("Frame1", ...), sg.Frame("Frame2", ...)], ]
- Верхняя рамка 4, нижняя рамка 3 в рамке 1
layout = [ [sg.Frame("frame 4", ...], [sg.Frame("Frame 3", ...], ]
- Опять же, Левый кадр 5, правый кадр 6 в кадре 4
layout = [ [sg.Frame("Frame 5", ...), sg.Frame("Frame 6", ...)], ]
Вот и все !
import PySimpleGUI as sg def blank_frame(): return sg.Frame("", [[]], pad=(5, 3), expand_x=True, expand_y=True, background_color='#404040', border_width=0) sg.theme('DarkGrey4') layout_frame1 = [ [blank_frame(), blank_frame()], [sg.Frame("Frame 3", [[blank_frame()]], pad=(5, 3), expand_x=True, expand_y=True, title_location=sg.TITLE_LOCATION_TOP)], ] layout_frame2 = [[blank_frame()]] layout = [ [sg.Frame("Frame 1", layout_frame1, size=(280, 250)), sg.Frame("Frame 2", layout_frame2, size=(200, 250), title_location=sg.TITLE_LOCATION_TOP)],] window = sg.Window("Title", layout, margins=(2, 2), finalize=True) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break window.close()