Задание
Разработать на языке 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. БД создается автоматически при запуске проекта. База данных есть в архиве.
admin