今天完成了人机交互
C/S结构用户界面设计
【实验编号】
10003809547j 图形用户界面设计
【实验学时】
8学时
【实验环境】
l 所需硬件环境为微机;
l 所需软件环境为Microsoft Visual Studio 2013
【实验内容】
编写一整套Mis系统UI界面,Mis系统名称自拟,尽量运用到如下控件:
l 窗体
l 菜单
l 工具栏
l 状态栏控件
l 标签控件
l 按钮控件
l 文本框控件
l 单选按钮控件
l 复选框控件
l 列表框控件
l 组合框控件
l 分组框控件
l 面板控件
l 图片框控件
l 定时器控件
l 滚动条控件
l 月历控件
class StartPage: def __init__(self, parent_window, ImageTk=None): parent_window.destroy() # 销毁子界面 self.window = tk.Tk() # 初始框的声明 self.window.title('学生信息管理系统') self.window.geometry('500x500') # 这里的乘是小x self.window.update_idletasks() # 更新窗口的大小和位置信息 screen_width = self.window.winfo_screenwidth() # 获取屏幕宽度 screen_height = self.window.winfo_screenheight() # 获取屏幕高度 window_width = self.window.winfo_width() # 获取窗口宽度 window_height = self.window.winfo_height() # 获取窗口高度 x = (screen_width - window_width) // 2 # 计算窗口左上角 x 坐标 y = (screen_height - window_height) // 2 # 计算窗口左上角 y 坐标 self.window.geometry("+{}+{}".format(x, y)) # 设置窗口位置 label = Label(self.window, text="学生信息管理系统", font=("Verdana", 20)) label.pack(pady=100) # pady=100 界面的长度 Button(self.window, text="管理员登陆", font=tkFont.Font(size=16), command=lambda: AdminPage(self.window), width=30, height=2, fg='white', bg='gray', activebackground='black', activeforeground='white').pack() Button(self.window, text="学生登陆", font=tkFont.Font(size=16), command=lambda: StudentPage(self.window), width=30, height=2, fg='white', bg='gray', activebackground='black', activeforeground='white').pack() Button(self.window, text="关于", font=tkFont.Font(size=16), command=lambda: AboutPage(self.window), width=30, height=2, fg='white', bg='gray', activebackground='black', activeforeground='white').pack() Button(self.window, text='退出系统', height=2, font=tkFont.Font(size=16), width=30, command=self.window.destroy, fg='white', bg='gray', activebackground='black', activeforeground='white').pack() self.window.mainloop() # 主消息循环
class AdminPage: def __init__(self, parent_window): parent_window.destroy() # 销毁主界面 self.window = tk.Tk() # 初始框的声明 self.window.title('管理员登陆页面') self.window.geometry('500x500') # 这里的乘是小x self.window.update_idletasks() # 更新窗口的大小和位置信息 screen_width = self.window.winfo_screenwidth() # 获取屏幕宽度 screen_height = self.window.winfo_screenheight() # 获取屏幕高度 window_width = self.window.winfo_width() # 获取窗口宽度 window_height = self.window.winfo_height() # 获取窗口高度 x = (screen_width - window_width) // 2 # 计算窗口左上角 x 坐标 y = (screen_height - window_height) // 2 # 计算窗口左上角 y 坐标 self.window.geometry("+{}+{}".format(x, y)) # 设置窗口位置 label = tk.Label(self.window, text='管理员登陆', bg='green', font=('Verdana', 20), width=30, height=2) label.pack() Label(self.window, text='管理员账号:', font=tkFont.Font(size=14)).pack(pady=25) self.admin_username = tk.Entry(self.window, width=30, font=tkFont.Font(size=14), bg='Ivory') self.admin_username.pack() Label(self.window, text='管理员密码:', font=tkFont.Font(size=14)).pack(pady=25) self.admin_pass = tk.Entry(self.window, width=30, font=tkFont.Font(size=14), bg='Ivory', show='*') self.admin_pass.pack() Button(self.window, text="登陆", width=8, font=tkFont.Font(size=12), command=self.login).pack(pady=40) Button(self.window, text="返回首页", width=8, font=tkFont.Font(size=12), command=self.back).pack() self.window.protocol("WM_DELETE_WINDOW", self.back) # 捕捉右上角关闭点击 self.window.mainloop() # 进入消息循环 def login(self): print(str(self.admin_username.get())) print(str(self.admin_pass.get())) admin_pass = None # 数据库操作 查询管理员表 db = pymysql.connect( host='localhost', user='root', password='123456', charset='utf8', database='student' ) # 打开数据库连接 cursor = db.cursor() # 使用cursor()方法获取操作游标 sql = "SELECT * FROM admin_login_k WHERE admin_id = '%s'" % (self.admin_username.get()) # SQL 查询语句 try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: admin_id = row[0] admin_pass = row[1] # 打印结果 print("admin_id=%s,admin_pass=%s" % (admin_id, admin_pass)) except: print("Error: unable to fecth data") messagebox.showinfo('警告!', '用户名或密码不正确!') db.close() # 关闭数据库连接 print("正在登陆管理员管理界面") print("self", self.admin_pass) print("local", admin_pass) if self.admin_pass.get() == admin_pass: AdminManage(self.window) # 进入管理员操作界面 else: messagebox.showinfo('警告!', '用户名或密码不正确!') def back(self): StartPage(self.window) # 显示主窗口 销毁本窗口
标签:总结,控件,admin,每日,height,width,window,12.4,self From: https://www.cnblogs.com/louwangshayu/p/17875876.html