# 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())