欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > QT+mysql+python 效果:

QT+mysql+python 效果:

2025/5/11 19:57:20 来源:https://blog.csdn.net/laocooon/article/details/145373780  浏览:    关键词:QT+mysql+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())

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com