Python | Создайте таблицу меток с помощью Tkinter
#PythonPython предлагает несколько вариантов разработки графического интерфейса пользователя. Из всех методов графического интерфейса tkinter является наиболее часто используемым методом. Это стандартный интерфейс Python для инструментария Tk GUI, поставляемый с Python. Python с tkinter выводит самый быстрый и простой способ создания приложений с графическим интерфейсом. Создание графического интерфейса с помощью tkinter — простая задача.
Чтобы создать ткинтер:
- Импорт модуля — ткинтер
- Создать главное окно (контейнер)
- Добавить любое количество виджетов в главное окно
- Примените триггер события к виджетам.
Давайте создадим простой лист меток на основе графического интерфейса с tkinter модуля Python tkinter , который может создать лист меток на основе меток, введенных для каждого субъекта.
Ниже приведена реализация:
# Python программа для создания
# GUI отметка листа с использованием tkinter
# Импортировать tkinter as tk
import tkinter as tk
# создание нового окна tkinter
master = tk.Tk()
# назначение заголовка
master.title("MARKSHEET")
# указание геометрии для размера окна
master.geometry("700x250")
# объявление объектов для ввода данных
e1 = tk.Entry(master)
e2 = tk.Entry(master)
e3 = tk.Entry(master)
e4 = tk.Entry(master)
e5 = tk.Entry(master)
e6 = tk.Entry(master)
e7 = tk.Entry(master)
# функция для отображения всего предмета
# кредиты всего кредитов и SGPA в соответствии
# к введенным оценкам
def display():
# Varibale для хранения итоговых оценок
tot=0
# 10 * количество предметных кредитов
# дать общее количество баллов за оценку А
if e4.get() == "A":
# метод сетки используется для размещения
# виджеты на соответствующих позициях
# в таблице как структура.
tk.Label(master, text ="40").grid(row=3, column=4)
tot += 40
# 9 * количество предметных кредитов дают
# всего кредитов за оценку B
if e4.get() == "B":
tk.Label(master, text ="36").grid(row=3, column=4)
tot += 36
# 8 * количество предметных кредитов дают
# всего кредитов за оценку С
if e4.get() == "C":
tk.Label(master, text ="32").grid(row=3, column=4)
tot += 32
# 7 * количество предметных кредитов
# дать общее количество баллов за оценку D
if e4.get() == "D":
tk.Label(master, text ="28").grid(row=3, column=4)
tot += 28
# 6 * количество предметных кредитов дают
# всего кредитов за оценку P
if e4.get() == "P":
tk.Label(master, text ="24").grid(row=3, column=4)
tot += 24
# 0 * количество предметных кредитов дают
# всего кредитов за оценку F
if e4.get() == "F":
tk.Label(master, text ="0").grid(row=3, column=4)
tot += 0
# Аналогично поступать с другими объектами
if e5.get() == "A":
tk.Label(master, text ="40").grid(row=4, column=4)
tot += 40
if e5.get() == "B":
tk.Label(master, text ="36").grid(row=4, column=4)
tot += 36
if e5.get() == "C":
tk.Label(master, text ="32").grid(row=4, column=4)
tot += 32
if e5.get() == "D":
tk.Label(master, text ="28").grid(row=4, column=4)
tot += 28
if e5.get() == "P":
tk.Label(master, text ="28").grid(row=4, column=4)
tot += 24
if e5.get() == "F":
tk.Label(master, text ="0").grid(row=4, column=4)
tot += 0
if e6.get() == "A":
tk.Label(master, text ="30").grid(row=5, column=4)
tot += 30
if e6.get() == "B":
tk.Label(master, text ="27").grid(row=5, column=4)
tot += 27
if e6.get() == "C":
tk.Label(master, text ="24").grid(row=5, column=4)
tot += 24
if e6.get() == "D":
tk.Label(master, text ="21").grid(row=5, column=4)
tot += 21
if e6.get() == "P":
tk.Label(master, text ="28").grid(row=5, column=4)
tot += 24
if e6.get() == "F":
tk.Label(master, text ="0").grid(row=5, column=4)
tot += 0
if e7.get() == "A":
tk.Label(master, text ="40").grid(row=6, column=4)
tot += 40
if e7.get() == "B":
tk.Label(master, text ="36").grid(row=6, column=4)
tot += 36
if e7.get() == "C":
tk.Label(master, text ="32").grid(row=6, column=4)
tot += 32
if e7.get() == "D":
tk.Label(master, text ="28").grid(row=6, column=4)
tot += 28
if e7.get() == "P":
tk.Label(master, text ="28").grid(row=6, column=4)
tot += 24
if e7.get() == "F":
tk.Label(master, text ="0").grid(row=6, column=4)
tot += 0
# для отображения общего количества кредитов
tk.Label(master, text=str(tot)).grid(row=7, column=4)
# для отображения SGPA
tk.Label(master, text=str(tot/15)).grid(row=8, column=4)
# конец функции отображения
# метка для ввода имени
tk.Label(master, text="Name").grid(row=0, column=0)
# метка для регистрационного номера
tk.Label(master, text="Reg.No").grid(row=0, column=3)
# метка для номера рулона
tk.Label(master, text="Roll.No").grid(row=1, column=0)
# метки для серийных номеров
tk.Label(master, text="Srl.No").grid(row=2, column=0)
tk.Label(master, text="1").grid(row=3, column=0)
tk.Label(master, text="2").grid(row=4, column=0)
tk.Label(master, text="3").grid(row=5, column=0)
tk.Label(master, text="4").grid(row=6, column=0)
# метки для тематических кодов
tk.Label(master, text="Subject").grid(row=2, column=1)
tk.Label(master, text="CS 201").grid(row=3, column=1)
tk.Label(master, text="CS 202").grid(row=4, column=1)
tk.Label(master, text="MA 201").grid(row=5, column=1)
tk.Label(master, text="EC 201").grid(row=6, column=1)
# метка для оценок
tk.Label(master, text="Grade").grid(row=2, column=2)
e4.grid(row=3, column=2)
e5.grid(row=4, column=2)
e6.grid(row=5, column=2)
e7.grid(row=6, column=2)
# метки для предметных кредитов
tk.Label(master, text="Sub Credit").grid(row=2, column=3)
tk.Label(master, text="4").grid(row=3, column=3)
tk.Label(master, text="4").grid(row=4, column=3)
tk.Label(master, text="3").grid(row=5, column=3)
tk.Label(master, text="4").grid(row=6, column=3)
tk.Label(master, text="Credit obtained").grid(row=2, column=4)
# принимая записи имени, рег, номер рулона соответственно
e1=tk.Entry(master)
e2=tk.Entry(master)
e3=tk.Entry(master)
# организовать их в сетке
e1.grid(row=0, column=1)
e2.grid(row=0, column=4)
e3.grid(row=1, column=1)
Кнопка # для отображения всех рассчитанных кредитных баллов и sgpa
button1=tk.Button(master, text="submit", bg="green", command=display)
button1.grid(row=8, column=1)
tk.Label(master, text="Total credit").grid(row=7, column=3)
tk.Label(master, text="SGPA").grid(row=8, column=3)
master.mainloop()
# Этот Marksheet можно сделать снимок и распечатать
# как табель на семестр
# Этот код предоставлен Soumi Bardhan
Выход:
