欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《嘉工资》--Python实现工资管理系统

程序员文章站 2024-03-13 12:36:39
...
这个项目会分模块分享,讲一下各个模块中遇到的问题以及运用到的技术

目录

登录注册模块

个人信息模块

部门模块

人事部模块

财务部模块

个人小结

个人小结

此次项目比较困难的是定时任务,一开始是完全没有头绪,找到schedule模块会阻塞主进程,在mysql中设置任务我也尝试过,虽然失败了。后来就想着是不是要多线程开发,终于被我找到Apscheduler模块,这个模块一些功能,我也还不是太懂,但是对与多线程,定时任务帮助很大
我是通过此篇文章学习的
花10分钟让你彻底学会Python定时任务框架apscheduler

    # APScheduler 定时完成任务
    year = datetime.date.today().year
    month = datetime.date.today().month
    lastday = calendar.monthrange(year,month)[1]
    schedule = BackgroundScheduler()

    trigger_23 = CronTrigger(hour=23,minute=1)
    trigger_lastdy = CronTrigger(day=lastday,hour=23,minute=59)
    trigger_day3 = CronTrigger(day=3,hour=9,minute=1)
    schedule.add_job(delWithdika,trigger_23)
    schedule.add_job(CountWage,trigger_lastdy)
    schedule.add_job(showWageInfo,trigger_day3)
    schedule.start()

还有此次代码写的比较繁杂,一开始没有太多的设计,而且本人确实这方面不太了解,所以代码非常的粗糙。且完全没有考虑吧优化问题。
不过此次项目也比较有收获,python,pyqt5,pymsql,datetime,apscheduler,还有打包的一下经验。
对,最后提一下打包程序,打包Pyqt5程序 要加入pyqt5路径
比如说
pyintaller --path 【pyqt5路径】(打包单个文件用-F,多个文件用-D,-w 去除黑窗,–icon 设置应用程序图标 -F的话 跟py文件,-D跟 spec文件)
-D 一开始要 pyi-makespec main.py
main.py 是项目的入口程序
现在文件夹下生成了一个main.spec文件和两个文件夹
编辑main.spec文件

找到a = Analysis([‘main.py’])这一句,把文件路径写入列表里
第一个列表里的文件就是入口py文件,与main在同一级的文件夹下可以直接写文件名,在其他文件夹下的py文件需要写完整的路径。这里面的所有列表都必须是py文件!

找到datas = [(‘C:\project\test\images’,‘images’),(‘C:\project\test\EventLogs’,‘EventLogs’)]这一句,将非py文件的路径与存放的文件夹名写在元组里
datas:

第一个参数是Python中的非py类型文件的路径
第二个参数是非py文件保存此资源的文件夹名称,要和路径中的文件夹名称相同
如下图所示
《嘉工资》--Python实现工资管理系统
保存文件,最后在spec文件路径下,输入打包命令即可
exe文件会在dist文件夹中。
这些也是我在
Python的多个py文件打包成exe
感谢各位大佬分析经验。
后面的话,会继续学习Python,然后去刷一些算法题,因为我真的很烂,发现自己计算机基础真的很烂,什么数据结构与算法,计算机网络,数据库,操作系统,设计模式,天啊全是白纸。然后大四在即,也在考虑怎么样的工作,只是显示还没有底气,不过也不能妄自菲薄。反正努力就好。