【Python小案例】Python+mysql+PyQt5健康体检报告查询

下载安装Python3.7.8

python官网:https://www.python.org/
image.png

PyQt5配置

安装PyQt5

pip install PyQt5pip install qt5_tools

image.png

image.png

pytcharm创建项目

image.png

配置外部工具

QTDesigner的Arguments语句不用填
QTDesigner的Working directory语句:$ProjectFileDir$
Pyuic的Arguments语句:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
PyUIC的Working directory语句:$FileDir$
PyRIC的Arguments语句:$FileName$ -o $FileNameWithoutExtension$_rc.py
PyRIC的Working directory语句:$FileDir$
PostgreSQL各平台安装教程:http://t.csdn.cn/w9Ff6

image.png
image.png

image.png

image.png

测试是否成功

image.png
image.png

实战

登录界面设计

image.png

登录标题

image.png

图标

image.png
image.png

标签字体设置

image.png
image.png

输入框

image.png
设置提示默认值
image.png

按钮

image.png

禁止窗口缩放

image.png

设置变量名

image.png

数据库设计

下面数据库语句是单独在Navicat里面执行的

info表

image.png

DROP TABLE IF EXISTS `info`;
CREATE TABLE `info` (`ID` int(11) NOT NULL,`sex` varchar(255) DEFAULT NULL,`age` int(11) DEFAULT NULL,`height` int(11) DEFAULT NULL,`weight` int(11) DEFAULT NULL,PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `info` VALUES ('1', '男', '18', '180', '70');
INSERT INTO `info` VALUES ('2', '女', '20', '177', '60');

login表

image.png

DROP TABLE IF EXISTS `login`;
CREATE TABLE `login` (`ID` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(20) NOT NULL,`password` varchar(20) NOT NULL,PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;INSERT INTO `login` VALUES ('1', '小米', 'xiaomi');
INSERT INTO `login` VALUES ('2', '苹果', 'pingguo');

登录代码功能

# -*- coding: UTF-8 -*-
'''
@Project :PyQtTest 
@File    :main.py
@IDE     :PyCharm 
@Author  :Manba_77
'''from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
import pymysqlclass Win_Login:def __init__(self):# 从文件中加载UI定义# 从UI定义中动态创建一个相应的窗口对象# 注意:里面的控件对象也成为窗口对象的属性了# 比如 self.ui.button,self.ui.textEditself.ui = QUiLoader().load('login.ui')self.ui.btn_login.clicked.connect(self.OnSignIn)self.ui.edt_password.returnPressed.connect(self.OnSignIn)def exe_sql(self, sql):conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='qtproject')try:cursor = conn.cursor()cursor.execute(sql)result_sql = cursor.fetchall()cursor.close()conn.close()return result_sqlexcept:result_sql = 0return result_sqldef OnSignIn(self):username = self.ui.edt_username.text().strip()password = self.ui.edt_password.text().strip()sql_1 = 'SELECT * From login;'result_sql_1 = self.exe_sql(sql_1)if result_sql_1 == 1:QMessageBox.Warning(self.ui,'用户名或密码错误')else:for res_1 in result_sql_1:print(res_1)if username == res_1[1] and password == res_1[2]:sql_2 = 'SELECT * From info;'result_sql_2 = self.exe_sql(sql_2)for res_2 in result_sql_2:if res_1[0] == res_2[0]:QMessageBox.warning(self.ui,'结果',"性别:{}\n年龄:{}\n身高:{}\n体重:{}".format(res_2[1], res_2[2], res_2[3], res_2[4]))app = QApplication([])
stat = Win_Login()
stat.ui.show()
app.exec_()

运行效果

image.png
image.png

完整项目代码

项目代码已打包放在网盘可自取,感谢三连

链接:https://pan.baidu.com/s/1gYAqzGTac62jgFBLPPPgkQ?pwd=skml 
提取码:skml 

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

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

相关文章

【职场心灵伴侣】文心一言智能体

【文心一言】智能体 写在最前面名称和简介:职场心灵伴侣AI生成头像添加工具智能体调优 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限…

智能农业时代:智能生态网络与数据流通的融合

随着科技的不断进步,智能农业已经成为现代农业发展的重要趋势。智能生态网络(IEN)作为一种集成化的解决方案,通过整合先进技术和数据要素流通,为智能农业的发展提供了强大的动力。在本文中,我们将探讨IEN在…

鸿蒙开发配置官方地图

一共需要配置 p12 p7b cer csr 四个文件 p12文件配置 注意创建文件名必须是.p12 到AGC创建项目 AppGallery Connect 添加自己的项目名称 我没有开启 暂时不需要 看个人需求 下载刚创建的cer证书 回到我的项目中 点击刚创建的项目 点击这里 四个文件齐全了 "metadata&qu…

《正常血压》

描述 监护室每小时测量一次病人的血压,若收缩压在90−140之间并且舒张压在60−90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。 输入描述 第一行为一个正整数n。…

【MySQL精通之路】InnoDB(6)-磁盘结构(5)-Redolog

主博客: 【MySQL精通之路】InnoDB(6)-磁盘上的InnoDB结构-CSDN博客 上一篇: 【MySQL精通之路】InnoDB-双写缓冲区-CSDN博客 下一篇: 目录 1.配置Redo Log容量(MySQL 8.0.30或更高版本) 2.配置重做日志容量(MySQL…

C++初阶之深入模板

一、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成…

基于STM32实现智能空气质量监测系统

目录 文章主题环境准备智能空气质量监测系统基础代码示例:实现智能空气质量监测系统 配置传感器并读取数据数据处理与显示数据存储与传输应用场景:室内环境监测与空气质量控制问题解决方案与优化收尾与总结 1. 文章主题 文章主题 本教程将详细介绍如何…

LIO-EKF: High Frequency LiDAR-Inertial Odometry using Extended Kalman Filters

一、论文摘要 里程计估计是每个需要在未知环境中导航的自主系统的关键要素。在现代移动机器人中,3D LiDAR 惯性系统通常用于执行此任务。通过融合 LiDAR 扫描和 IMU 测量,这些系统可以减少因顺序注册各个 LiDAR 扫描而引起的累积漂移,并提供稳…

如何在 Ubuntu 24.04 (桌面版) 上配置静态IP地址 ?

如果你想在你的 Ubuntu 24.04 桌面有一个持久的 IP 地址,那么你必须配置一个静态 IP 地址。当我们安装 Ubuntu 时,默认情况下 DHCP 是启用的,如果网络上可用,它会尝试从 DHCP 服务器获取 IP 地址。 在本文中,我们将向…

登录接口测试

登录接口测试 数据驱动

深度解析:用 Python 爬虫逆向破解 solscan 的请求头加密参数 Sol-Aut

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 逆向是爬虫工程师进阶必备技能,当我们遇到一个问题时可能会有多种解决途径,而如何做出最高效的抉择又需要经验的积累。本期文章将以实战的方式,带你详细地逆向分析 solscan 网站请求头加密字段 Sol-Aut 的构造逻辑,…

C语言基础-macro和volatile

在C语言中&#xff0c;可以使用#define预处理指令来定义宏。宏是一种在编译时替换文本的工具&#xff0c;通常用于表示常量或执行简单的文本替换。 下面是一个定义“标准”宏MIN的例子&#xff0c;这个宏用于比较两个值并返回较小的那个&#xff1a; #include <stdio.h>…

我把PostgreSQL最核心的插件撸干净了!!!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

景源畅信:小白做抖音运营难吗?

在数字化时代&#xff0c;社交媒体已成为人们生活的一部分&#xff0c;而抖音作为其中的翘楚&#xff0c;吸引了众多希望通过平台实现自我价值和商业目标的用户。对于刚入门的小白来说&#xff0c;运营抖音账号可能会遇到不少挑战。接下来&#xff0c;我们将详细探讨这一话题&a…

法那科机器人M-900iA维修主要思路

发那科工业机器人是当今制造业中常用的自动化设备之一&#xff0c;而示教器是发那科机器人操作和维护的重要组成部分。 一、FANUC机械手示教器故障分类 1. 硬件故障 硬件故障通常是指发那科机器人M-900iA示教器本身的硬件问题&#xff0c;如屏幕损坏、按键失灵、电源故障等。 2…

NFT Insider #131:Mocaverse NFT市值破3.5万ETH,The Sandbox 参加NFCsummit

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members&#xff08;https://twitter.com/WHALEMembers&#xff09;、BeepCrypto &#xff08;https://twitter.com/beep_crypto&#xff09;联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜、…

EasyExcel的CellWriteHandler注入CellStyle不生效

文章目录 一、问题描述二、问题排查三、解决问题 一、问题描述 最近发现原本项目的导出excel功能中&#xff0c;写的那些 CellWriteHandler 去改变样式的代码全都不生效了 二、问题排查 由于代码都是没有改动的&#xff0c;加上最近有升级过 easyExcel 的版本&#xff0c;由…

YOLOv5改进 | 主干网络 | 用EfficientNet卷积替换backbone【教程+代码 】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 在YOLOv5的GFLOPs计算量中&#xff0c;卷积占了其中大多数的比列&#xff0c;为了减少计算量&#xff0c;研究人员提出了用EfficientNet代替b…

【C++ Boost 开源库 】从安装到运用

1. Boost 开源库的介绍 推荐看下面的博文&#xff0c;就不重复造轮子了 https://blog.csdn.net/qq_44681788/article/details/130895520 2. Boost 开源库下载 这里推荐这个链接&#xff0c;需要的版本只需要改后面的版本号即可 https://boostorg.jfrog.io/artifactory/main…

简述Java虚拟机(JVM)的工作原理

一、技术难点 Java虚拟机&#xff08;JVM&#xff09;的工作原理是Java技术体系中的核心部分&#xff0c;其技术难点主要体现在以下几个方面&#xff1a; 跨平台性&#xff1a;JVM是实现Java“一次编写&#xff0c;到处运行”跨平台特性的关键。JVM需要屏蔽与具体操作系统平台…