创建一个python GUI标记表。在给出每个学科的学分的地方, 输入在每个学科中获得的成绩, 然后单击提交。在自动计算后, 将显示每个科目的学分, 总学分以及SGPA。使用tkinter创建GUI界面。
请参阅以下文章, 以了解有关tkinter和Python的基础知识。 Tkinter简介Python基础Python提供了多种开发GUI(图形用户界面)的选项。在所有的GUI方法中, Tkinter是最常用的方法。它是Python随附的Tk GUI工具包的标准Python接口。 Python与Tkinter输出最快和最简单的方式来创建GUI应用程序。使用创建GUITkinter是一件容易的事。
创建一个tkinter:
- 导入模块– tkinter
- 创建主窗口(容器)
- 将任意数量的小部件添加到主窗口
- 将事件触发器应用于小部件。
下面是实现:
# Python program to create a
# GUI mark sheet using tkinter# Import tkinter as tk
import tkinter as tk# creating a new tkinter window
master = tk.Tk() # assigning a title
master.title( "MARKSHEET" )# specifying geomtery for window size
master.geometry( "700x250" ) # declaring objects for entering data
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)# function to display the total subject
# credits total credits and SGPA according
# to grades entered
def display():# Varibale to store total marks
tot = 0# 10*number of subject credits
# give total credits for grade A
if e4.get() = = "A" : # grid method is used for placing
# the widgets at respective positions
# in table like structure .
tk.Label(master, text = "40" ).grid(row = 3 , column = 4 )
tot + = 40# 9*number of subject credits give
# total credits for grade B
if e4.get() = = "B" :
tk.Label(master, text = "36" ).grid(row = 3 , column = 4 )
tot + = 36# 8*number of subject credits give
# total credits for grade C
if e4.get() = = "C" :
tk.Label(master, text = "32" ).grid(row = 3 , column = 4 )
tot + = 32# 7*number of subject credits
# give total credits for grade D
if e4.get() = = "D" :
tk.Label(master, text = "28" ).grid(row = 3 , column = 4 )
tot + = 28# 6*number of subject credits give
# total credits for grade P
if e4.get() = = "P" :
tk.Label(master, text = "24" ).grid(row = 3 , column = 4 )
tot + = 24# 0*number of subject credits give
# total credits for grade F
if e4.get() = = "F" :
tk.Label(master, text = "0" ).grid(row = 3 , column = 4 )
tot + = 0# Similarly doing with other objects
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 + = 0if 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 + = 0if 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# to display total credits
tk.Label(master, text = str (tot)).grid(row = 7 , column = 4 ) # to display SGPA
tk.Label(master, text = str (tot /15 )).grid(row = 8 , column = 4 ) # end of display function# label to enter name
tk.Label(master, text = "Name" ).grid(row = 0 , column = 0 )# label for registration number
tk.Label(master, text = "Reg.No" ).grid(row = 0 , column = 3 )# label for roll Number
tk.Label(master, text = "Roll.No" ).grid(row = 1 , column = 0 ) # labels for serial numbers
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 )# labels for subject codes
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 )# label for grades
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 )# labels for subject credits
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 ) # taking entries of name, reg, roll number respectively
e1 = tk.Entry(master)
e2 = tk.Entry(master)
e3 = tk.Entry(master)# organizing them in th e grid
e1.grid(row = 0 , column = 1 )
e2.grid(row = 0 , column = 4 )
e3.grid(row = 1 , column = 1 )# button to display all the calculated credit scores and 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()#This Marksheet can be snapshotted and printed out
# as a report card for the semester#This code has been contributed by Soumi Bardhan
【Python使用Tkinter创建GUI标记表】输出如下:
文章图片
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python-适用于Pandas的Bamboolib详细指南
- Python使用Bokeh进行数据可视化
- Python从矩阵过滤代表字典键的不可变行
- Python使用OpenCV对图像进行灰度缩放
- Python Tkinter中的forget_pack()和forget_grid()用法
- Python Tkinter中的geometry方法用法示例
- Python Tkinter中的grid()方法用法示例
- Python groupby方法删除所有连续的重复项
- #导入Word文档图片# Linux下Shell脚本语言编程