python 操作数据库mysql workbench 8.0 以及 QT5的简例
附件UI的python
from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(389, 240) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(0, 0, 91, 31)) self.pushButton.setStyleSheet("color: rgb(235, 0, 205);\n" "background-color: rgb(255, 239, 241);") self.pushButton.setObjectName("pushButton") self.textEdit = QtWidgets.QTextEdit(Form) self.textEdit.setGeometry(QtCore.QRect(0, 40, 381, 191)) self.textEdit.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.textEdit.setStyleSheet("background-color: rgb(255, 220, 233);") self.textEdit.setFrameShape(QtWidgets.QFrame.Box) self.textEdit.setObjectName("textEdit") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(100, 0, 81, 31)) self.pushButton_2.setStyleSheet("background-color: rgb(164, 169, 255);") self.pushButton_2.setObjectName("pushButton_2") self.retranslateUi(Form) self.pushButton.clicked.connect(Form.hello) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton.setText(_translate("Form", "why")) self.pushButton_2.setText(_translate("Form", "test"))
import sys
# from PyQt5.QtWidgets import QApplication,QMainWindow
# from PyQt5 import QtWidgets
from PyQt5 import QtWidgets
from untitled import Ui_Form
import mysql.connector
class MyButton(QtWidgets.QMainWindow, Ui_Form):
def __init__(self):
super(MyButton, self).__init__()
self.setupUi(self)
config = {
'host': '192.168.6.28',
'user': 'root',
'password': '1234',
'port': 3306,
'database': 'test', #数据库名称
'charset': 'utf8'
}
self.mysql = None
self.cursor = None
try:
self.mysql = mysql.connector.connect(**config)
self.cursor = self.mysql.cursor()
except mysql.connector.Error as e:
# print('connect fails!{}'.format(e))
# strx = "aaa{}".format("sssss")
self.textEdit.setText(str('connect fails!\n{}'.format(e)))
def get_sqldata(self, sql_query):
try:
# sql_query = 'select * from new_table;'
self.cursor.execute(sql_query)
lx = self.cursor.fetchall()
return lx
except mysql.connector.Error as e:
self.textEdit.setText(str('connect fails!\n{}'.format(e)))
def close_sql(self):
self.mysql.close()
#映射的按钮事件
def hello(self):
sql_query = 'select * from new_table;'
lx = self.get_sqldata(sql_query)
self.pushButton.setText("hello")
self.textEdit.setText("this is hello" + str(lx))
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv) # app
window = MyButton()
window.show() # 显示
sys.exit(app.exec_())
本文来自博客园,作者:{archer},转载请注明原文链接:https://www.cnblogs.com/archer-mowei/p/15070641.html