[sg.Table(values=[], headings=[' '], key='table3', enable_events=True, bind_return_key=True)],里面的headings留一个合适的尺寸
时间: 2024-01-29 15:04:58 浏览: 19
如果你只需要显示一个空白标题,可以将 `headings` 参数设置为包含一个空字符串的列表,例如:
```
[sg.Table(values=[], headings=[''], key='table3', enable_events=True, bind_return_key=True, size=(800, 400))],
```
这里我将 `headings` 参数设置为一个包含一个空字符串的列表,这样表格会显示一个空白的标题。你可以根据需要调整表格的大小。
相关问题
[sg.Table(values=[], headings=['列1', '列2', '列3'], key='table3', enable_events=True, bind_return_key=True)],里面的headings留一个合适的尺寸
你可以通过调整 `sg.Table` 元素中 `headings` 参数的宽度来设置表格标题的尺寸。例如:
```
[sg.Table(values=[], headings=[sg.Text('列1', size=(10, 1)), sg.Text('列2', size=(20, 1)), sg.Text('列3', size=(30, 1))], key='table3', enable_events=True, bind_return_key=True, size=(800, 400))],
```
这里我将每一列标题的宽度分别设置为 10、20 和 30 个字符,你可以根据自己的需要进行调整。
无法在界面中显示合并后的数据: import pandas as pd import PySimpleGUI as sg # 定义窗口布局 layout = [ [sg.Text('选择第一个表格文件:', size=(20, 1)), sg.Input(key='file1'), sg.FileBrowse()], [sg.Text('选择第二个表格文件:', size=(20, 1)), sg.Input(key='file2'), sg.FileBrowse()], [sg.Button('查找相同时间段数据')], [sg.Table(values=[], headings=[], key='table3', enable_events=True, bind_return_key=True)], [sg.Button('保存数据')] ] # 创建窗 window = sg.Window('查找相同时间段数据,作者:Dieter', layout, font=("微软雅黑", 15), default_element_size=(50, 1)) # 当窗口打开时执行的代码 while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break elif event == '查找相同时间段数据': # 获取用户选择的文件路径 file1 = values['file1'] file2 = values['file2'] # 读取两个表格的数据 df1 = pd.read_csv(file1) df2 = pd.read_csv(file2) # 按照时间段合并两个 DataFrame 对象 merged_df = pd.merge(df1, df2, on='Time') # 将合并后的数据显示在表格中 headings = merged_df.columns.tolist() values = merged_df.values.tolist() window['table3'].update(values=values) elif event == '保存数据': # 获取当前显示的数据 table_values = window['table3'].get() # 将数据保存到新的表格中 save_file = sg.popup_get_file('保存文件', save_as=True, default_extension='.csv') if save_file: save_df = pd.DataFrame(table_values[1:], columns=table_values[0]) save_df.to_excel(save_file, index=False) sg.popup('保存成功!')
在你的代码中,更新表格的语句 `window['table3'].update(values=values)` 是正确的,但是你没有定义表格的标题。你需要在窗口布局中添加一个 `sg.Table` 元素并设置 `headings` 属性,例如:
```
[sg.Table(values=[], headings=['列1', '列2', '列3'], key='table3', enable_events=True, bind_return_key=True)],
```
这里我添加了一个包含三列的表格,你需要根据你的数据列数修改 `headings` 属性。