PySimpleGUI - простой и интуитивный GUI-фреймворк для Python
PySimpleGUI - это кросс-платформенный графический пользовательский интерфейс (GUI), написанный на языке Python с использованием библиотеки tkinter. Он обеспечивает простой и интуитивно понятный интерфейс для создания приложений с графическим интерфейсом пользователя (GUI) в Python.
Библиотека PySimpleGUI позволяет создавать GUI, используя очень простой синтаксис. Она работает на Windows, Linux и macOS и предоставляет широкий спектр виджетов, включая кнопки, текстовые поля, чекбоксы, радиокнопки, списки, диалоговые окна и многое другое.
Преимущества PySimpleGUI включают:
- Простота использования и установки
- Кросс-платформенность
- Множество виджетов и возможностей
- Обширная документация и поддержка сообщества
- Расширяемость и возможность настройки.
Пример использования PySimpleGUI для создания окна с несколькими виджетами:
import PySimpleGUI as sg
layout = [[sg.Text('Enter your name: '), sg.InputText()],
[sg.Button('Ok'), sg.Button('Cancel')]]
window = sg.Window('My window', layout)
while True:
event, values = window.read()
if event in (None, 'Cancel'):
break
if event == 'Ok':
sg.popup('Hello, ', values[0])
window.close()
В этом примере мы создали окно с одним текстовым полем и двумя кнопками. При нажатии на кнопку "Ok" выводится сообщение с приветствием и введенным именем.
Также можно использовать PySimpleGUI для создания более сложных интерфейсов, включая динамические списки, таблицы и графики.
Например, вот код для создания инструмента генерации случайных чисел и построения графика распределения:
import random
import PySimpleGUI as sg
import matplotlib.pyplot as plt
layout = [[sg.Text('Number of random values: '), sg.InputText(key='-N-')],
[sg.Button('Generate'), sg.Button('Quit')],
[sg.Canvas(key='-CANVAS-')]]
window = sg.Window('Random Values Generator', layout)
while True:
event, values = window.read()
if event in (None, 'Quit'):
break
if event == 'Generate':
n = int(values['-N-'])
data = [random.randint(1, 100) for i in range(n)]
fig, ax = plt.subplots()
ax.hist(data, bins=20, edgecolor='black')
canvas = window['-CANVAS-'].TKCanvas
canvas.delete('all')
graph = FigureCanvasTkAgg(fig, canvas)
graph.draw()
graph.get_tk_widget().pack(side='top', fill='both', expand=1)
window.close()
В этом примере мы использовали PySimpleGUI для создания окна с текстовым полем для ввода количества генерируемых случайных чисел, кнопками "Generate" и "Quit" и графическим элементом Canvas для вывода графика. По нажатию кнопки "Generate" генерируются случайные значения, строится график и отображается в окне.