Fiz uma janela simples com apenas um campo para inserção de dados e um botão para inserir dados no database.
Quando executo o código, a janela é chamada, coloco um nome qualquer no campo de editline e quando clico no botão inserir, um popup do windows aparece dizendo que o Python parou de responder e me da um erro no python. (Process finished with exit code -
2147483645)
import MySQLdb
from PyQt5 import QtCore, QtGui, QtWidgets
conn = MySQLdb.connect(host="localhost", user="root", passwd="123456", db="test")
c = conn.cursor()
class Ui_MainWindow(object):
#def select(self):
# c.execute("SELECT id FROM client")
# return
def insert(self):
c.execute('INSERT INTO client(name) values("%s")' % (self.nameClient))
conn.commit()
conn.close()
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(200, 200)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
#self.labelCodClient = QtWidgets.QLabel(self.centralwidget)
#self.labelCodClient.setGeometry(QtCore.QRect(5, 10, 75, 23))
#self.labelCodClient.setObjectName("labelCodClient")
self.labelNameClient = QtWidgets.QLabel("Name Client", self.centralwidget)
self.labelNameClient.setGeometry(QtCore.QRect(5, 60, 75, 23))
self.labelNameClient.setObjectName("labelNameClient")
self.nameClient = QtWidgets.QLineEdit(self.centralwidget)
self.nameClient.setGeometry(QtCore.QRect(75, 60, 75, 23))
self.nameClient.setObjectName("nameClientInput")
self.insertButton = QtWidgets.QPushButton(self.centralwidget)
self.insertButton.setGeometry(QtCore.QRect(10, 100, 75, 23))
self.insertButton.setObjectName("insertButton")
self.insertButton.clicked.connect(self.insert)
self.quitButton = QtWidgets.QPushButton(self.centralwidget)
self.quitButton.setGeometry(QtCore.QRect(95, 100, 75, 23))
self.quitButton.setObjectName("quitButton")
self.quitButton.clicked.connect(QtCore.QCoreApplication.instance().quit)
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.quitButton.setText(_translate("MainWindow", "Quit"))
self.insertButton.setText(_translate("MainWindow", "Insert"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())