当前位置:   article > 正文

PyQt6开发一个“手记”个人记账软件_自己制作一个记账软件

自己制作一个记账软件

前言:

可根据特定需求写PyQt+后端的程序,这个demo框架个人认为无论是初学还是老手,可以当做PyQt的架子使用,笔者在工作中积累了PyQt经验,由这个小项目搭建了一把,很过瘾。

目前开源的PyQt总感觉是小项目,架子太随意了,笔者平常也会写java,之前也用过flask,这算是一次融合把,把他应用到了PyQt开发中来。

背景:

应用:“手记”个人记账软件

简介:无论对于高校学生还是企业白领,生活记账的需求都普遍存在。纸笔记账的方式过于繁琐 ,一个方便智能,自动实现统计分析,引导合理消费的记账软件无疑将为使用者的生活带来便利,该款软件 追求的是用户界面美观、交互设计人性化、账目统计智能,直观,给用户带来贴心的感受。

主要功能和技术

(1) 单笔(收入/支出) 记账, 包括记录金额、记录时间、记录分类、记录心情、记录备注; (2) 消费统计分析,包括分类饼状图、分类折线图、分类柱状图

(3) 用户系统,包括用户密码  确认登录;

(4) 系统设置, 针对特定每日、每周、每年的消费限额进行设置, 可以通过软件来实现提醒用户 理消费功能;

技术: Qt 界面开发,  Sqlite 数据操作;

所用技术:

笔者作为一个工作中用PyQt5的员工对于PyQt6还是比较感兴趣的,实践证明二者有差异认为不算小

ORM+PyQt6连接本地数据库,一个桌面端记账小程序

实现效果:

1-登录[注册不在展示]

2-账单页面

3-记账

4-消费统计分析

5-系统设置消费目标

 信号与槽逻辑代码:

 

  1. # 联系请加V:zew1040994588
  2. # 源码获取、定制咨询、非开源
  3. if __name__ == '__main__':
  4. login = UiUserLoginDialog()
  5. app = QApplication(sys.argv)
  6. ini_window = loginWindow()
  7. ini_window.show()
  8. sys.exit(app.exec())
  1. # 联系请加V:zew1040994588
  2. # 源码获取、定制咨询、非开源
  3. class registerWindow(QWidget, UiUserRegisterDialog):
  4. def __init__(self,login_window):
  5. super().__init__()
  6. # login_window
  7. self.login_window = login_window
  8. self.setupUi(self)
  9. self.ini_ui_config()
  10. self.handle_buttons()
  11. def ini_ui_config(self):
  12. self.setWindowTitle("小熊手记软件-注册")
  13. self.setWindowIcon(QIcon('./res/user/bear.png'))
  14. # 禁止窗口拉伸
  15. self.setFixedSize(self.width(), self.height())
  16. def handle_buttons(self):
  17. # 连接信号和槽
  18. self.confirm_button.clicked.connect(self.register_logic)

self.handle_buttons()里面写的是关心信号绑定槽的处理,比如self.confirm_button的clicked信号触发后会执行register_logic槽函数,也就是用户注册账号的逻辑。

  1. # 联系请加V:zew1040994588
  2. # 源码获取、定制咨询、非开源
  3. def register_logic(self):
  4. """
  5. 此处使用户进行注册
  6. :return:
  7. """
  8. username = self.username_line.text()
  9. password = self.password_line.text()
  10. if len(password) != 0 and len(password) != 0:
  11. db_user = session.query(User).filter_by(username=username).all()
  12. if len(db_user) == 0:
  13. """
  14. 说明输入无问题,可进行数据库插入
  15. """
  16. user = User(username=username, password=password)
  17. session.add(user)
  18. session.commit()
  19. query_user = session.query(User).filter_by(username=username,password=password).first()
  20. user_id = query_user.id
  21. target = ConsumeTarget(user_id=user_id,day_target=200,month_target=10000,year_target=200000)
  22. session.add(target)
  23. session.commit()
  24. QMessageBox.question(self, '提示', '注册成功')
  25. self.username_line.setText('')
  26. self.password_line.setText('')
  27. self.hide()
  28. self.login_window.show()
  29. else:
  30. reply = QMessageBox.question(self, '提示', '用户名和密码输入非法,请重新录入')
  31. self.username_line.setText('')
  32. self.password_line.setText('')
  33. else:
  34. reply = QMessageBox.question(self, '提示', '用户名和密码输入不能为空,请重新录入')
  35. self.username_line.setText('')
  36. self.password_line.setText('')

源码获取

欢迎大家点赞、收藏、关注、评论、批评啦 、查看

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/688208
推荐阅读
相关标签