Python | Создайте таблицу меток с помощью Tkinter

Python | Создайте таблицу меток с помощью Tkinter

#Python


Python предлагает несколько вариантов разработки графического интерфейса пользователя. Из всех методов графического интерфейса 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

Выход:


Report Page