使用Python的PyQt实现财务综合计算

news2025/2/22 20:29:06

背景:

考核内容

使用 Python 编写程序代码,设计一个带交互界面的财务分析软件,并满足以下要求:
PART1:《财务软件设计思路报告》 (30分)


(1)编写《财务软件设计思路报告》,描述你编制这个财务软件的设计目标、应用场景、设计思路。
(2)该财务软件的应用场景可以来自于以下情况中的一种
1)你对企业未来财务应用的设想
2)你实习企业的要求
3)你参加比赛或者创业项目的需求;
4)选择财务管理相关课程(如《财务管理》、《投资学》、《成本会计》或其他财务类、会计类相关课程)中的一道综合计算分析题
(3) 字数不少于 500 字。
PART2:《Python 程序代码》 (70分)


(1)对应PART1的要求,编制一个或者多个财务计算函数对上述应用场景需要解决的问题进行财务分析结算,并给出代码。 (25 分)
(2) 该程序需要有交互界面,可以通过该界面程序,由其他用户输入数据,运行(1)中的函数,得到财务分析结果。 (25 分)
(3)该程序可以保存每次用户的输入结果和每次用户得到的分析结果,用户可以导出为 EXCEL 文件。 (20 分)

过程效果:

交互界面主要效果图如下,可重新定制个性化页面

登录窗口代码:

# 联系请加V:zew1040994588
# 源码获取、定制咨询、非开源

class loginWindow(QWidget, UiUserLoginDialog):

    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.ini_ui_config()
        self.handle_buttons()

    def ini_ui_config(self):
        self.setWindowTitle("小熊手记软件")
        self.setWindowIcon(QIcon('./res/user/bear.png'))
        # 隐藏输入密码
        self.password_line.setEchoMode(QLineEdit.EchoMode.Password)
        # 禁止窗口拉伸
        self.setFixedSize(self.width(), self.height())

    def handle_buttons(self):
        # 连接信号和槽
        self.register_button.clicked.connect(self.register_logic)
        self.login_button.clicked.connect(self.login_logic)

代码中第一部分是显示ui,比如修改它的标题名称、窗口拉伸、隐藏输入密码,PyQt的信号与槽在这里得到了应用。比如用户点击登录后执行登录的槽函数self.login_logic,登录的槽函数如下所示

# 联系请加V:zew1040994588
# 源码获取、定制咨询、非开源

    def login_logic(self):
        """
        这里弹出主要窗口逻辑,
        这个软件的所有功能基本都集成在这里!
        需要写登录了
        :return:
        """
        username = self.username_line.text()
        password = self.password_line.text()
        result = session.query(User).filter_by(username=username,password=password).first()

        if result != None:
            self.main_window = mainTabWidget(result.id)
            self.close()
            self.main_window.show()
            QMessageBox.question(self, '提示', '登陆成功')

        else:
            QMessageBox.question(self, '提示', '登录失败,请检查登录信息')
            # 文字清空
            self.username_line.setText('')
            self.password_line.setText('')

类似项目参考链接:

PyQt6开发一个“手记”个人记账软件_用python做一个记账软件_zew1040994588的博客-CSDN博客

主要代码:

# 联系请加V:zew1040994588
# 源码获取、定制咨询、非开源

if __name__ == '__main__':
    login = UiUserLoginDialog()
    app = QApplication(sys.argv)
    ini_window = loginWindow()
    ini_window.show()
    sys.exit(app.exec())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286152.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql进阶-事务锁

前置知识-事务 事务简介 事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 就比如: 张三给李四转账1000块钱&#xff0…

基于AT89C51单片机四位加法计算器的设计

1.设计任务 利用AT89C51单片机为核心控制元件,设计一个四位加法计算器,设计的系统实用性强、操作简单,实现了智能化、数字化。 1)、通过4*4矩阵键盘输入数字及运算符; 2)、可以进行4位十进制数以内的加法…

线程池(Linux +C)

参考 手写线程池 - C语言版 | 爱编程的大丙 (subingwen.cn) 目录 1.为什么需要线程池? 1)线程问题: 2)如何解决线程问题(线程池的优势): 2.线程池是什么? 1)线程的…

某夕夕商家告诉你:这样寄快递居然这么省钱(便宜寄全国)

在当下很多时候寄快递成为了困扰很多人的问题,比如很多时候都会面临运费贵的问题,而且寄快递的效率也得不到保障,即使投诉快递员最终也是无济于事。其实在目前来看寄快递并没有这么难,闪侠惠递就能够有效的寄快递,而且…

试验数字化平台WDP 助力车企数据管理加速度

一 现状 随着现代测控技术的提高,数据结构变得越来越复杂多样,数据量也在日益增大。又因试验条件的限制,大多数企业的数据管理方式主要是通过各类电子文档将试验数据保存在每个工程师的移动电脑中,再进行汇总存储和共享。这种落后…

OpenHarmony 设备启动Logo和启动视频替换指南

前言 OpenHarmony源码版本:4.0release 开发板:DAYU / rk3568 一、Logo替换 替换其中的logo.bmp 和 logo_kernel.bmp文件 注意事项: 1、图片的分辨率需要和设备匹配 2、如果是非首次编译(存在缓存)需要将out目录删…

【Backbone】TransNeXt:最新ViT模型(原理+常用神经网络汇总)

文章目录 一、近几年神经网络 Backbone 回顾1.Densenet 与 Resnet2.CBP3.SENet4.GCNet5.DANet6.PANet 与 FPN7.ASPP8.SPP-net9.PSP-net10.ECA-Net 二、TransNeXt(2023)1.提出问题2.Aggregated Pixel-focused Attention2.1 Pixel-focused Attention&#…

如何一个月内发表一篇中文核心 干货分享

发论文经验教学 干货分享:如何在一个月内发表一篇中文核心 经验分享 干货分享_哔哩哔哩_bilibili

元宇宙红色展厅VR虚拟展馆提高受训者的参与感

生活在和平年代的新一代青少年,可能对革命先烈英勇事迹难以有很深的体会,无法切实感受到中国共产党无畏牺牲、誓死保家卫国的红色精神,因此借助VR虚拟现实制作技术,让参观者们走近革命先烈中,感受老一辈无产阶级革命家…

C语言-字符串变量

字符串变量 char* s “Hello, world!”; s是一个指针,初始化为指向一个字符串常量 由于这个常量所在的地方,所以实际上s是const char* s,但是由于历史的原因,编译器接受不带const的写法但是试图对s所指的字符串做写…

龙迅#LT8311X3 USB中继器应用描述!

1. 概述 LT8311X3是一款USB 2.0高速信号中继器,用于补偿ISI引起的高速信号衰减。通过外部下拉电阻器选择的编程补偿增益有助于提高 USB 2.0 高速信号质量并通过 CTS 测试。 2. 特点 • 兼容 USB 2.0、OTG 2.0 和 BC 1.2• 支持 HS、FS、LS 信令 • 自动检测和补偿 U…

【MATLAB源码-第95期】基于matlab的协作通信中(AF模式)中继选择算法对比。

操作环境: MATLAB 2022a 1、算法描述 1. 最大最小中继选择 (Max-Min Relay Selection):这种算法选择能够提供最大最小信号强度的中继。它首先计算所有可用中继的信号强度,然后选择那些在最差信道条件下仍能保持最高信号强度的中继。其目的…

Vue3引入markdown编辑器--Bytemd

字节跳动开源了一款markdown编辑器,bytemd,项目地址:GitHub - bytedance/bytemd: ByteMD v1 repository 安装 npm i bytemd/vue-next 引入方式如下,再main.js中引入样式 import bytemd/dist/index.css 直接封装一个Markdown编…

1.vue学习笔记(vue简介+API风格+开发前的准备)

1.介绍 1.一款用于构建用户页面的JavaScript框架 2.基于HTML、CSS、JavaScript 3.官方文档:cn.vuejs.org2.渐进式框架 1.注重灵活性/可被逐步集成 根据需求场景:1.无需构建步骤,渐进式增强静态的HTML2.在任何页面中作为Web Components嵌入&…

生命在于折腾——Android Studio网络设置(MAC)

一、前言 在macos上面,能使用的android模拟器是真不如windows多,各个厂家似乎抛弃了macos的安卓模拟器,当然,我使用的mac是2019款16寸的inter芯片,之前使用arm架构M2芯片的时候,更是可怕,不过q…

博客文章SEO:提升博客排名和吸引更多读者的方法来啦!

互联网发展到现在,搜索引擎优化(SEO)一直发挥着不可替代的作用。搜索引擎的流量往往更加定向,来自搜索引擎的流量转化率更高,可以帮助企业更好地实现销售和推广目标。因此,通过合理的SEO策略,你…

【FreeRTOS】消息队列——简介、常用API函数、注意事项、项目实现

在嵌入式系统开发中,任务间的通信是非常常见的需求。FreeRTOS提供了多种任务间通信的机制,其中之一就是消息队列。消息队列是一种非常灵活和高效的方式,用于在不同的任务之间传递数据。通过消息队列,任务可以异步地发送和接收消息…

泛型和Object的区别

什么时候使用 泛型:只要确定了用哪类对象,并且用到这个对象里的方法。选择泛型,泛型更加精确,只要用到Object的地方基本都能用泛型代替。Object类:Object是所有类的父类,更加笼统,且只能使用固…

找不到客户?交你一招

在当今社会中,获取潜在客户的信息对于企业的成功至关重要。然而,许多企业却面临着找不到潜在客户的难题。 企业想要成交的第一步就是寻找客户,将产品和目标客户进行匹配才能提高成交率。 因此企业首先需要明确自己的目标客户群体&#xff0…

GAN:WGAN-DIV

论文:https://arxiv.org/pdf/1712.01026.pdf 代码: 发表:2018 摘要 在计算机视觉的许多领域中,生成对抗性网络已经取得了巨大的成功,其中WGANs系列被认为是最先进的,主要是由于其理论贡献和竞争的定性表…