На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Учет сотрудников (Python, Tkinter, консоль, Sqlite)

Задание

Реализовать на языке программирования Python консольное приложение, которое выводит сведения о сотрудниках. Приложение должно выводить информацию о сотруднике, отделе в котором он работает и его зарплату. Кроме того, должна выводится общая сумма зарплаты по отделу, а также нужно вывести ФИО всех сотрудников отдела.Также необходимо разработать версию с GUI-интерфесом. В качестве графического интерфейса использовать Tkinter.

Функционал программы

  • добавление сотрудника
  • редактирование сотрудника
  • удаление сотрудника
  • поиск по сотруднику
  • обновление или перезагрузка данных.

Данный функционал указан для приложения с графическим интерфейсом. Функционал консольной версии описан в задании. 

Фрагмент программного кода (часть консольной версии)

# используется для сортировки
from operator import itemgetter


class Emp:
    """Сотрудник"""

    def __init__(self, id, fio, sal, dep_id):
        self.id = id
        self.fio = fio
        self.sal = sal
        self.dep_id = dep_id


class Dep:
    """Отдел"""

    def __init__(self, id, name):
        self.id = id
        self.name = name


class EmpDep:
    """Сотрудники отдела для реализации связи многие-ко-многим"""

    def __init__(self, dep_id, emp_id):
        self.dep_id = dep_id
        self.emp_id = emp_id

if __name__ == '__main__':
    main()

Фрагмент программного кода (часть версии с GUI)

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='beige', 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='beige',
                                    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='beige', 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='beige', 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='beige', 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='beige', 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', 'employee', 'position', 'salary'), height=15, show='headings')

        self.tree.column('ID', width=30, anchor=tk.CENTER)
        self.tree.column('employee', width=365, anchor=tk.CENTER)
        self.tree.column('position', width=150, anchor=tk.CENTER)
        self.tree.column('salary', width=100, anchor=tk.CENTER)

        self.tree.heading('ID', text='ID')
        self.tree.heading('employee', text='Сотрудник')
        self.tree.heading('position', text='Должность')
        self.tree.heading('salary', 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)

# Добавление данных
    def records(self, employee, position, salary):
        self.db.insert_data(employee, position, salary)
        self.view_records()

# Основной код для запуска
if __name__ == "__main__":
    root = tk.Tk()
    db = DB()
    app = Main(root)
    app.pack()
    root.title("Staff")
    root.geometry("665x450+300+200")
    root.resizable(False, False)
    root.mainloop()

Скриншот архива с проектом

Пояснения по запуску программы

Скачать и установить Python с офф. сайта. Скачать и установить с офф. сайта iIDE PyCharm Community. Запустить проект. Запустить сперва файл main.py и посмотреть на его работу. Запустить файл staff.py и посмотреть на его работу. 

Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Скачать

бесплатно

Учет сотрудников.rar
2946085
Оцени работу

рейтинг

Учет сотрудников (Python, Tkinter, консоль, Sqlite)
Программа для учета сотрудников на языке Python. Реализовано две версии - консольная и с GUI-интерфейсом.
Категория: Образование
Стоимость: Бесплатно