📜  pysimplegui 从文本框中获取值 - Python (1)

📅  最后修改于: 2023-12-03 15:18:51.271000             🧑  作者: Mango

PySimpleGUI 从文本框中获取值 - Python

使用 PySimpleGUI 创建 GUI 时,从文本框中获取用户输入的值很常见。在这篇文章中,我们将介绍如何使用 PySimpleGUI 从文本框中获取值。

创建文本框

要创建一个文本框,我们需要使用 sg.Input() 函数。以下是一个简单的示例,该示例创建了一个仅包含文本框的窗口。

import PySimpleGUI as sg

layout = [[sg.Input(key='input')], 
          [sg.Ok()]] 

window = sg.Window('Window Title', layout)

while True:
    event, values = window.read()

    if event == sg.WINDOW_CLOSED:
        break

    if event == 'Ok':
        print(values['input'])

window.close()

在上面的示例中,我们使用 sg.Input() 函数创建了一个文本框,并将其作为列表放入 layout 变量中。接下来,我们创建了一个窗口并运行了一个无限循环,该循环等待用户执行某些操作。如果用户单击窗口的关闭按钮,则窗口将关闭。如果用户单击“Ok”按钮,则将从文本框中获取值并将其打印到控制台。

获取文本框的值

为了从文本框中获取值,我们需要使用 values 字典,该字典包含我们传递给 sg.Input() 函数的 key 值作为键和文本框中输入的值作为值。以下是示例代码:

import PySimpleGUI as sg

layout = [[sg.Input(key='input')], 
          [sg.Ok()]] 

window = sg.Window('Window Title', layout)

while True:
    event, values = window.read()

    if event == sg.WINDOW_CLOSED:
        break

    if event == 'Ok':
        user_input = values['input']
        print(f'User input: {user_input}')

window.close()

在上面的示例中,当用户单击“Ok”按钮时,我们使用 values['input']values 字典中获取文本框中输入的值,并将其存储在变量 user_input 中。然后,我们将 user_input 打印到控制台。

自定义文本框的样式

我们可以使用 PySimpleGUI 为文本框设置样式。以下是一个示例,它添加了一个带有灰色背景色的文本框:

import PySimpleGUI as sg

layout = [[sg.Input(key='input', background_color='lightgray')], 
          [sg.Ok()]] 

window = sg.Window('Window Title', layout)

while True:
    event, values = window.read()

    if event == sg.WINDOW_CLOSED:
        break

    if event == 'Ok':
        user_input = values['input']
        print(f'User input: {user_input}')

window.close()

在上面的示例中,我们传递了 background_color='lightgray' 参数来设置文本框的背景颜色。

结论

本文介绍了如何使用 PySimpleGUI 从文本框中获取值。我们在文本框中放入 sg.Input() 函数并将其放入 layout 列表中。然后,我们使用 values 字典来获取文本框中输入的值。最后,我们还演示了如何为文本框设置样式。