Python 如何在PySimpleGUI中美化结果

Python 如何在PySimpleGUI中美化结果,python,pandas,dataframe,pysimplegui,Python,Pandas,Dataframe,Pysimplegui,我目前正在练习熊猫 我正在使用一些口袋妖怪数据作为练习 我想做一个程序,允许用户输入他们的查询,我将返回他们需要的结果 我有一个小问题,如果我在pysimplegui中显示pandas查询的结果,它会显示一个“丑陋”的结果,而不像终端中的“漂亮”。为了更清楚地说明我的问题,这里有一个例子 如果我对此提出质疑: 我按“搜索”后的结果将是 但是如果我看终端的结果,它看起来是这样的 这是我的工作代码 import pandas as pd import PySimpleGUI as sg p

我目前正在练习熊猫

我正在使用一些口袋妖怪数据作为练习

我想做一个程序,允许用户输入他们的查询,我将返回他们需要的结果

我有一个小问题,如果我在pysimplegui中显示pandas查询的结果,它会显示一个“丑陋”的结果,而不像终端中的“漂亮”。为了更清楚地说明我的问题,这里有一个例子

如果我对此提出质疑:

我按“搜索”后的结果将是

但是如果我看终端的结果,它看起来是这样的

这是我的工作代码


import pandas as pd
import PySimpleGUI as sg

pd.set_option('display.max_rows', None)
df = pd.read_csv(r'PATH HERE')

layout = [  [sg.Text('This is a basic searcher \nPlease input your search parameters')],
            [sg.Text('Name'), sg.Input(key='Name')],
            [sg.Text('Type 1'), sg.Input(key='Type 1')],
            [sg.Text('Type 2'), sg.Input(key='Type 2')],
            [sg.Text('Total'), sg.Input(key='Total')],
            [sg.Text('Generation'), sg.Input(key='Generation')],
            [sg.Button('Search'), sg.Button('Close')]
]


window = sg.Window('Pokemon Database Query', layout).Finalize()


while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Close':
        break
    if event == 'Search':
        df_query = 'df.loc['
        for key,value in values.items():
            if value != '':
                if value.isnumeric():
                    df_query += f'''(df['{key}'] == {value})&'''
                else:
                    df_query += f'''(df['{key}'] == '{value}')&'''
        df_query = df_query[:-1] + ']'
        sg.popup_scrolled('Result', eval(df_query))
window.close()


谢谢

通过指定要返回的窗口大小,可以改善包装的丑陋性。大小=(列、行)`


通过指定要返回的窗口大小,可以改善包装的丑陋性。大小=(列、行)`


我已经试过了,但还是很难看。。我将其设置为size=(1280720),这基本上就是我的整个屏幕。。这就是它看起来的样子为什么不试试这个而不是这个? Table()`而不是
sg.popup\u scrolled()
。这是一个示例,即使它是。我已经尝试过这样做,但仍然很难看。。我将其设置为size=(1280720),这基本上就是我的整个屏幕。。这就是它看起来的样子为什么不试试这个而不是这个? Table()`而不是
sg.popup\u scrolled()
。下面是一个示例,即使它是。您需要使用“固定宽度字体”,以便文本在列中排列。尝试设置font='courier 10'。您需要使用“固定宽度字体”,以便文本在列中对齐。尝试设置font='courier 10'。
sg.popup_scrolled('Result', eval(df_query), size=(100,40))