Задание
Разработать на языке Python приложение с GUI - интерфейсом для учета спортсменов. В качестве интерфейса использовать Tkinter.
Функционал программы
- добавление спортсмена
- редактирование спортсмена
- удаление спортсмена
- поиск по команде
- обновление или перезагрузка данных.
Фрагмент программного кода
import tkinter as tk
from tkinter import ttk
import sqlite3
# Класс Main
class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.init_main()
self.db = db
self.view_records()
# Главное окно
def init_main(self):
toolbar = tk.Frame(bg='blue violet', bd=2)
toolbar.pack(side=tk.TOP, fill=tk.X)
self.add_img = tk.PhotoImage(file='add.png')
btn_open_dialog = tk.Button(toolbar, text='Добавить спортсмена ', command=self.open_dialog, bg='blue violet',
bd=0, compound=tk.TOP, image=self.add_img)
btn_open_dialog.pack(side=tk.LEFT)
self.update_img = tk.PhotoImage(file='edit.png')
btn_edit_dialog = tk.Button(toolbar, text='Редактировать', bg='blueviolet', bd=0, image=self.update_img,
compound=tk.TOP, command=self.open_update_dialog)
btn_edit_dialog.pack(side=tk.LEFT)
self.delete_img = tk.PhotoImage(file='delete.png')
btn_delete_dialog = tk.Button(toolbar, text='Удалить', bg='blueviolet', bd=0, image=self.delete_img,
compound=tk.TOP, command=self.delete_records)
btn_delete_dialog.pack(side=tk.LEFT)
self.search_img = tk.PhotoImage(file='search.png')
btn_search = tk.Button(toolbar, text='Поиск', bg='blueviolet', bd=0, image=self.search_img,
compound=tk.TOP, command=self.open_search_dialog)
btn_search.pack(side=tk.LEFT)
self.refresh_img = tk.PhotoImage(file='refresh.png')
btn_refresh = tk.Button(toolbar, text='Обновить', bg='blueviolet', bd=0, image=self.refresh_img,
compound=tk.TOP, command=self.view_records)
btn_refresh.pack(side=tk.LEFT)
self.tree = ttk.Treeview(self, columns=('ID', 'sportsman', 'league', 'team'), height=15, show='headings')
self.tree.column('ID', width=30, anchor=tk.CENTER)
self.tree.column('sportsman', width=355, anchor=tk.CENTER)
self.tree.column('league', width=100, anchor=tk.CENTER)
self.tree.column('team', width=150, anchor=tk.CENTER)
self.tree.heading('ID', text='ID')
self.tree.heading('sportsman', text='Спортсмен')
self.tree.heading('league', text='Лига')
self.tree.heading('team', text='Команда')
self.tree.pack(side=tk.LEFT)
scroll = tk.Scrollbar(self, command=self.tree.yview)
scroll.pack(side=tk.LEFT, fill=tk.Y)
self.tree.configure(yscrollcommand=scroll.set)
# Основной код для запуска
if __name__ == "__main__":
root = tk.Tk()
db = DB()
app = Main(root)
app.pack()
root.title("Athletes")
root.geometry("665x450+300+200")
root.resizable(False, False)
root.mainloop()
Скриншот архива с проектом

Пояснения по запуску программы
Запустить PyCharm, запустить проект. Базу данных подключать не нужно, так как в качестве БД использован модуль Sqlite3 встроенный в Python. БД создается автоматически при запуске проекта. База данных есть в архиве.
Телеграм
-