如何在PySimpleGUI中一次获取同一帧内的图形和表格?

2024-03-28 17:13:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我搜索了很多,但直到我没有得到在同一帧中PySimpleGUI工作的图形和表格

我迄今为止取得的成就:

我有一个{}是股票的符号。 它旁边是graph button和一个table button。 这里出现了不同的图表

我想要的是: 我想要的是sigle frame下面的一个buttons图将出现在其中并 当我按下table button时,在同一帧内应该显示表格

所以我希望每次都销毁单个帧并生成


Tags: 图形图表table符号buttonframe表格graph
1条回答
网友
1楼 · 发布于 2024-03-28 17:13:18

大多数时候,很难理解一些简单的句子是什么意思

也许下面的示例代码对您来说没问题

enter image description here

import PySimpleGUI as sg

headings = ['President', 'Date of Birth']
data = [
    ['Ronald Reagan', 'February 6'],
    ['Abraham Lincoln', 'February 12'],
    ['George Washington', 'February 22'],
    ['Andrew Jackson', 'March 15'],
    ['Thomas Jefferson', 'April 13'],
]
width, height = 353, 100

sg.theme('DarkBlue')
sg.set_options(font=('Courier New', 12))

column_layout = [
    [sg.Table(data, headings=headings, pad=(0, 0), auto_size_columns=False,
        col_widths=(20, 15), num_rows=5, hide_vertical_scroll=True,
        justification='left', key='TABLE')],]

frame_layout = [
    [sg.Graph((width, height), (0, 0), (width, height), pad=(0, 0),
        background_color='green', key='GRAPH')],
    [sg.Column(column_layout, pad=(0, 0), visible=True, key='COLUMN',
        metadata=True)],]

layout = [
    [sg.Button('Frame Visible'), sg.Button('Table Visible')],
    [sg.Column(frame_layout, pad=(0, 0), key='FRAME', visible=True,
        metadata=True)],]

window  = sg.Window("Title", layout, size=(375, 265), finalize=True)
frame   = window['FRAME']
column  = window['COLUMN']

while True:

    event, values = window.read()

    if event == sg.WINDOW_CLOSED:
        break

    elif event == 'Frame Visible':
        visible = not frame.metadata
        frame.update(visible=visible)
        frame.metadata = visible

    elif event == 'Table Visible':
        if frame.metadata:
            visible = not column.metadata
            column.update(visible=visible)
            column.metadata = visible

window.close()

相关问题 更多 >