搞图形用户界面可以选择tkinter库或pyqt5库。
各项体测项目数据所对应的分数可以在百度上搜索大学体测找到相关信息。
由于体测数据所对应的分数多而繁琐,目前程序代码只录入大一大二男生的体测数据所对应的分数。
下面把该该程序的运行界面贴上来:
源代码附上:
from tkinter import *
class MY_GUI():
def __init__(self, init_window_name):
self.init_window_name = init_window_name
# 设置窗口
def set_init_window(self):
self.init_window_name.title("体测计算器(大一大二男生)")
self.init_window_name.geometry('400x700+300+200')
# 身高
self.tall_data_label = Label(self.init_window_name, text="身高(m)")
self.tall_data_label.grid(row=3, column=1)
# 体重
self.heavy_data_label = Label(self.init_window_name, text="体重(kg)")
self.heavy_data_label.grid(row=5, column=1)
# 肺活量
self.fei_data_label = Label(self.init_window_name, text="肺活量(ml)")
self.fei_data_label.grid(row=7, column=1)
# 引体向上
self.up_data_label = Label(self.init_window_name, text="引体向上(个)")
self.up_data_label.grid(row=9, column=1)
# 立定跳远
self.jump_data_label = Label(self.init_window_name, text="立定跳远(cm)")
self.jump_data_label.grid(row=11, column=1)
# 50m短跑
self.sr_data_label = Label(self.init_window_name, text="50m短跑(s)")
self.sr_data_label.grid(row=13, column=1)
# 1000长跑
self.lr_data_label = Label(self.init_window_name, text="1000长跑(min)")
self.lr_data_label.grid(row=15, column=1)
# 坐位体前屈
self.qu_data_label = Label(self.init_window_name, text="坐位体前屈(cm)")
self.qu_data_label.grid(row=17, column=1)
# 结果
self.log_label = Label(self.init_window_name, text="结果")
self.log_label.grid(row=19, column=1)
# 身高 输入
self.tall_data_Text = Text(self.init_window_name, width=60, height=2)
self.tall_data_Text.grid(row=4, column=1, rowspan=1, columnspan=10)
# 体重 输入
self.heavy_data_Text = Text(self.init_window_name, width=60, height=2)
self.heavy_data_Text.grid(row=6, column=1, columnspan=10)
# 肺活量 输入
self.fei_data_Text = Text(self.init_window_name, width=60, height=2)
self.fei_data_Text.grid(row=8, column=1, columnspan=10)
# 引体向上 输入
self.up_data_Text = Text(self.init_window_name, width=60, height=2)
self.up_data_Text.grid(row=10, column=1, columnspan=10)
# 立定跳远 输入
self.jump_data_Text = Text(self.init_window_name, width=60, height=2)
self.jump_data_Text.grid(row=12, column=1, columnspan=10)
# 50m短跑 输入
self.sr_data_Text = Text