QT+mysql+python 效果:

news/2025/1/30 18:19:53/





python"># This Python file uses the following encoding: utf-8
import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox
from PySide6.QtGui import QStandardItemModel, QStandardItem  # 导入需要的类# Important:
#     你需要通过以下指令把 form.ui转为ui_form.py
#     pyside6-uic form.ui -o ui_form.pyfrom ui_form import Ui_Widget# 前提具备 连接库和建立一个user1的表
import pymysql as p  # 模块名尽量用小写 ,刚才有大写,所以一直在报红class Widget(QWidget):def __init__(self, parent=None):super().__init__(parent)self.ui = Ui_Widget()self.ui.setupUi(self)# 连接按钮点击事件到槽函数self.ui.pushButton.clicked.connect(self.show_message)def show_message(self):# 弹出对话框,显示 "你好"QMessageBox.information(self, "消息", "你好")self.abc()def abc(self):# 连接数据库conn = p.connect(host='mysql.sqlpub.com', port=3306, user='laocooon',passwd='fc12f7a5215e8e0a', db='huangjin')cur = conn.cursor()try:#查找sql = "select * from user1"cur.execute(sql)result = cur.fetchall()print(result)# 创建模型model = QStandardItemModel(len(result), len(result[0]))  # 行数和列数model.setHorizontalHeaderLabels(["ID", "Name", "Password"])  # 设置表头# 将数据填充到模型中for row_idx, row_data in enumerate(result):for col_idx, item in enumerate(row_data):model.setItem(row_idx, col_idx, QStandardItem(str(item)))# 将模型设置到 QTableViewself.ui.tableView.setModel(model)  # 注意:tableView 应该是通过 UI 文件定义的conn.commit()except Exception as e:print("数据操作错误", e)conn.rollback()finally:cur.close()conn.close()if __name__ == "__main__":app = QApplication(sys.argv)widget = Widget()widget.show()sys.exit(app.exec())


http://www.ppmy.cn/news/1567944.html

相关文章

【C++高并发服务器WebServer】-5:内存映射与进程通信

本文目录 一、内存映射与进程通信二、匿名映射与进程通信 一、内存映射与进程通信 内存映射Memory-mapped I/O指的是将磁盘文件的数据映射到内存,用户通过修改内存就能够修改磁盘文件,如下图所示(进程地址空间指的是虚拟地址空间&#xff09…

【C++】内联函数inline、关键字auto与新式for

内联函数 内联函数背景 我们在使用C语言中我们都学过函数,我们知道函数在调用的过程中需要开辟栈帧。如果我们需要频繁的调用一个函数,假设我们调用10次Add()函数,那我们就需要建立10次栈帧。我们都知道在栈帧中要做很多事情,例如…

力扣动态规划-14【算法学习day.108】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关…

【数据结构】动态内存管理函数

动态内存管理 为什么存在动态内存管理动态内存函数的介绍🎊malloc补充:perror函数🎊free🎊calloc🎊realloc 常见动态内存错误对空指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一…

16 分布式session和无状态的会话

在我们传统的应用中session存储在服务端,减少服务端的查询压力。如果以集群的方式部署,用户登录的session存储在该次登录的服务器节点上,如果下次访问服务端的请求落到其他节点上就需要重新生成session,这样用户需要频繁的登录。 …

双层Git管理项目,github托管显示正常

双层Git管理项目,github托管显示正常 背景 在写React项目时,使用Next.js,该项目默认由git托管。但是我有在项目代码外层记笔记的习惯,我就在外层使用了git托管。 目录如下 code 层内也有.git 文件,对其托管。 我没太在意&…

使用CSS快速居中div的七种方法

方法一:Flex布局 使用Flex布局是最简单的方法之一。只需在父容器中添加display: flex、justify-content: center和align-items: center即可实现水平和垂直居中。 .flex-container {display: flex;justify-content: center;align-items: center;height: 100vh;back…

<keep-alive> <component ></component> </keep-alive>缓存的组件实现组件,实现组件切换时每次都执行指定方法

<keep-alive> <component :is"currentRouter" :key"currentRouter"></component> </keep-alive>缓存的组件实现组件切换时子组件每次都执行指定的方法 // 父组件<keep-alive><component :is"currentRouter" :…