pyside6 云数据库与本地数据库sqlite3同步研究(1)

文章讲述了使用Pyside6开发的股票数据库处理软件,涉及MongoDBAtlas云数据库和SQLite本地数据库的同步,以及登录验证、数据保存和双向操作的功能。重点在于登录过程中的数据交互和安全提示。
摘要由CSDN通过智能技术生成

【pyside6 】数据库同步研究(1)
使用pyside6制作一个股票数据库处理软件。登录界面已经写好。如下图所示:
在这里插入图片描述

云数据库:MongoDB atlas:
优势:使用Navicat即可连接。如下图所示:
在这里插入图片描述
劣势:登录较慢,需要等待。

本地数据库:sqlite3
优势:速度快
劣势:不能云操作
结合云数据库与本地数据库的优劣势,进行互补。
在这里插入图片描述
MongoDB atlas已经实现增删改查的功能。MongoDB与sqlite3是双向数据交换,view与sqlite3也是双向数据交换.

登录时:view->mongdb->sqlite3。sign_in函数是mongdb操作。jump是跳转操作。db_save是保存到sqlite3中。
代码如下:

    def loginId(self):
        '''
        登陆
        :return:
        '''
        user_id = self.ui.edt_login_id.text()
        #print('qt5登录src 输入user_id->', user_id)
        if not user_id:
            return QMessageBox.warning(self, "错误", "请输入id,例如:e6e72588dbfe4XXXXXXXXb1960c40f"),'帐号user_id:{}登录失败,帐号为空'.format(user_id)
        flag =sign_in(user_id)
        if not flag[0]:
            return QMessageBox.warning(self, "错误", "请输入id,例如:e6e72588dbfe4XXXXXXXXb1960c40f"),'帐号user_id:{}登录失败,数据库没注册'.format(user_id),flag
        if flag[0]:
            print('登录src->,user_info=',flag[2][2])
            # ________________v0.0.2_______________________>20230902update
            self.flag_sign_in = flag
            self.user_info=self.flag_sign_in[2][2]
            self.user_id=user_id

            self.jump()#跳转,数据保存
    def jump(self):
        # ________________v0.0.1_______________________>
        # from pyqt5_demo.desktop import MyWidget
        # self.widget = MyWidget()
        # self.widget.resize(800, 600)
        # self.widget.show()
        # self.close()
        # ________________v0.0.2_______________________>
        #self.user_info = flag[2][2]  # {'_id': '6384cc423bd1c86122832151', 'mail_': 'ltsjiim@126.com', 'uuid_id': '5c3aaff7364446b8862119a617450650', 'id_time': '2022-11-28 22:57:04.945858', 'note': '', 'version': '0.0.1', 'today_num': 25, 'total_num': 567, 'last_signin_time': '2023-08-31 20:18:21.416992', 'vip_type': 'SVIP'}
        if self.user_info['note'] == '用户私自修改数据库,警告':
            QMessageBox.warning(self, "错误", '帐号user_id:{},请不要修改数据库'.format(self.user_id))
            self.close()
            return False, '用户私自修改数据库', self.close()
        from pyqt5_demo.menu.bar_v_0_0_1 import GUI
        self.top_ui = GUI({'uuid': self.user_id}, self.user_info)
        self.top_ui.show()
        self.close()
        self.db_save()
        return True, '帐号user_id:{}登录成功,欢迎使用'.format(self.user_id),self.flag_sign_in
    def db_save(self):
        # print(self.user_info)
        import pandas as pd
        df=pd.DataFrame(self.user_info, index=[1]).reset_index(drop=True)

        from resource_db.user_data.user_sqlite import save_df
        flag=save_df(df,style='replace')

双向操作时:view->sqlite3、sqlite3->view
:mongodb->sqlite3、sqlite3->mongodb
其中view读取sqlite3简单,已经实现。下面3个功能等待实现。

课程亮点       本课程是PySide6零基础入门与项目实战视频教程,经过精心设计,分为十个章节,制作了141页ppt, 接近70个代码示例,主要讲解PySide6开发环境安装、基础控件与界面布局、项目实战,PySide6程序打包,安装包制作,安装卸载、更新,发布等知识。涵盖从基础概念到高级应用的全方位知识,旨在为你提供一条清晰、系统的学习之路。无论你是编程新手,还是希望深化对PySide6的了解,本课程都能满足你的需求。       教学环境:Win11 64bit、Python3.11、PyCharm、Anacoda。课程大纲第一章:基础篇 PySide6开发环境安装        从Anaconda环境配置开始,带你快速入门Win11/win10下PySide6、PyQt5开发环境的安装与配置,分别介绍PyCharm与VSCode如何配置PySide6,  以及Python AnaConda的基本用法,创建虚拟环境,安装python模块。第二章 控件与布局篇 PySide6常用控件与界面布局使用介绍        深入PySide6中的常用控件与界面布局技巧,通过丰富的实例,掌握PySide6的窗口、布局、控件等核心内容。主要介绍QLabel、QPushButton、QLineEdit、QCheckBox、QComboBox、QTextEdit、QTextBrowser、QListView与QListWidget、QStackedWidget、QTabWidget、QTableView等控件以及水平垂直布局,弹簧控件,栅格布局,表单布局。第三章 信号槽与事件机制       解锁PySide6的信号槽机制和事件处理技能,让你的应用更加灵活。详细介绍Qt自定义信号槽,跨窗口传递信号;Qt鼠标事件,键盘事件,组合事件,事件过滤。第四章 QMainWindow应用篇       详细介绍QMainWindow的使用,包括菜单栏、工具栏、状态栏和停靠窗口等。第五章 样式表qss与自定义控件        教你如何使用样式表美化应用界面,并创建独特的自定义控件。掌握这些技能后,学员将能够设计出既美观又功能丰富的用户界面。第六章 图表与曲线        引入pyqtgraph,展示如何在PySide6应用中绘制图表和动态曲线。第七章 数据库编程        带你进入数据库编程世界,使用sqlite3与PySide6结合,进行数据存储和管理。第八章 项目实战:高仿有道词典        通过一个高仿有道词典的项目,将所学知识融会贯通,实战演练。课程中将会接入翻译接口,开发一个属于自己的翻译软件。第九章 打包与部署       教你如何将PySide6项目打包成exe,并使用Inno Setup制作安装包,介绍软件更新、卸载策略,让你的应用轻松上线。第十章 课程总结        回顾整个课程的学习内容,巩固知识点,为进一步的学习和应用打下坚实的基础。教学特色       实战案例:每个章节都配备实战案例,让学习者在实践中深化理解。       代码资料全覆盖:提供全套课程代码资料下载,便于学习者随时查阅和复习。       高效学习路径:课程内容结构清晰,由浅入深,适合不同层次的学习者。       本课程提供全部代码与在线答疑。谁应该学习这个课程       对图形界面开发感兴趣的编程新手。       希望提升个人技能,进入或者深耕在GUI开发领域的开发者。       需要快速掌握PySide6进行项目开发的软件工程师。结语        通过本课程的学习,你不仅能掌握PySide6的核心技能,还能通过实战项目提升解决实际问题的能力,最终让你能独立完成专业的GUI应用开发。随着技术的深入,你将发现PySide6不仅仅是一个工具库,它开启的是一扇通往高效、美观应用开发的大门。        开始PySide6的学习之旅,让你的编程之路更加精彩!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值