Python实现GUI学生信息管理系统


Posted in Python onApril 05, 2020

本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下

项目环境: 

软件环境: 

                  OS:RedHat6.3
                  Lib:Pygtk
                  Language:Python
                  Support tool:Glade3

项目简述:

①Glade3设计用户的登录窗口,功能主窗口
②通过Gtk.Builder初始化,载入界面
③在Mysql.py文件中实现Python操作数据库。
④在stuManager.py中实现学生信息的查询,删除,修改,终端登录,图形统计等功能
⑤在Glade中定义函数触发信号,实现功能的连接。

项目测试:

①登录窗口

Python实现GUI学生信息管理系统

②主窗口

Python实现GUI学生信息管理系统

③删除信息

Python实现GUI学生信息管理系统

④修改信息

Python实现GUI学生信息管理系统

⑤登录终端

Python实现GUI学生信息管理系统

⑥学生成绩

Python实现GUI学生信息管理系统

⑦图形统计(没做好)

⑧查找信息

Python实现GUI学生信息管理系统

部分代码:

Terminal.py

#-*- coding=utf-8 -*- 
#!/usr/bin/python 
##################################################################### 
## Filename: terminal.py 
##  
## Copyright (C) 2014.6 
## Author: TangMeiHao@760209035@qq.com 
##  
## Description: python + pygtk(gtk)实现学生信息管理系统 
##  
###################################################################### 
 
import vte 
import gtk 
 
 
class MyTerm(): 
 def __init__(self): 
 """初始化一个term对象""" 
 self.terminal=vte.Terminal() 
 self.terminal.connect("child-exited",lambda term: self.vte_exit()) 
 self.terminal.fork_command() 
 self.terminal.set_size(10,20) 
 
 def vte_exit(self): 
 """当terminal退出时,直接重新产生一个terminal,并clear初始化""" 
 self.terminal.fork_command() 
 self.terminal.feed_child("clear\n") 
 
 def vte_message(self): 
 pass

Stu_Sys.py

#!/usr/bin/python 
#-*- coding:utf-8 -*- 
###################################################################### 
## Filename: Stu_Sys.py 
##  
## Copyright (C) 2014.6 
## Author: TangMeiHao@760209035@qq.com 
##  
## Description: python + pygtk(gtk)实现学生信息管理系统 
##  
###################################################################### 
 
import gtk 
import gtk.glade 
from terminal import * 
import MySQLdb 
 
#系统类 
class system: 
 #定义数据库的变量 
 host='localhost' 
 user='root' 
 passwd='aixocm' 
 db='student' 
 port=3306 
 charset='utf8' 
 
 def __init__(self): 
 # 定义所使用的glade文件 
 self.glade_file = "Student.glade" 
 self.glade = gtk.Builder() 
 self.glade.add_from_file(self.glade_file) 
 self.glade.connect_signals(self) 
 self.glade.get_object("window1").set_size_request(800,500) 
 self.glade.get_object("window1").set_position(gtk.WIN_POS_CENTER) 
 
 #从xml文件中读取数据,并链接必要的信号 
 for widget in self.glade.get_objects(): 
 if issubclass(type(widget),gtk.Buildable):name=gtk.Buildable.get_name(widget) 
 setattr(self,name,widget) 
 
 #创建一个Terminal的实例,并且添加到登录管理的标签页中 
 self.myterm=MyTerm() 
 self.glade.get_object("vbox2").add(self.myterm.terminal) 
 
 #登录窗口 
 self.dialog3.run() 
 self.dialog3.set_size_request(300,260) 
 self.dialog3.set_position(gtk.WIN_POS_CENTER) 
 
 #登录窗口登录,验证管理员用户,密码. 
 def on_login_click(self,widget,data=None): 
 try: 
 conn=MySQLdb.connect(host=system.host,user=system.user,passwd=system.passwd, 
 db=system.db,port=system.port,charset=system.charset) 
 cur=conn.cursor() 
 manager_name=cur.execute('select manager_name from manager') 
 name=cur.fetchmany(1) 
 manager_passwd=cur.execute('select manager_passwd from manager') 
 
  
 text16=self.entry16.get_text() 
 text17=self.entry17.get_text() 
 
 if text16!=name: 
 #验证成功,关闭登录窗口 
 self.dialog3.destroy() 
 #显示窗口 
 self.glade.get_object("window1").show_all() 
 
 else: 
 #提示框 
 login_waring='亲爱的管理员,你登录的用户或密码误' 
 self.dialog1buffer=self.textview3.get_buffer() 
 self.dialog1buffer.set_text(str(login_waring)) 
 self.dialog1.set_size_request(300,260) 
 self.dialog1.set_position(gtk.WIN_POS_CENTER) 
 self.dialog1.run() 
 
 except MySQLdb.Error,e: 
 print "Mysql Error %d: %s" % (e.args[0], e.args[1]) 
...........

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
Python中的两个内置模块介绍
Apr 05 Python
Python制作简单的网页爬虫
Nov 22 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
Jun 19 Python
详解python破解zip文件密码的方法
Jan 13 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
通过自学python能找到工作吗
Jun 21 Python
Python预测2020高考分数和录取情况
Jul 08 Python
Python接口自动化测试的实现
Aug 28 Python
Django admin组件的使用
Oct 24 Python
教你使用Python pypinyin库实现汉字转拼音
May 27 Python
pandas数值排序的实现实例
Jul 25 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 #Python
python版学生管理系统
Jan 10 #Python
python实现用户管理系统
Jan 10 #Python
python的Tqdm模块的使用
Jan 10 #Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 #Python
Python设计模式之MVC模式简单示例
Jan 10 #Python
Python设计模式之命令模式简单示例
Jan 10 #Python
You might like
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
常用的javascript function代码
2008/05/23 Javascript
Jquery 基础学习笔记
2009/05/29 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
python类继承用法实例分析
2015/05/27 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
Python set常用操作函数集锦
2017/11/15 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
机电一体化专业毕业生自荐信
2014/06/19 职场文书
施工安全责任书范本
2014/07/24 职场文书
读书笔记格式
2015/07/02 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python
JavaScript前端面试组合函数
2022/06/21 Javascript
Python实现聚类K-means算法详解
2022/07/15 Python