Mar-25-2020, 10:28 PM
Hello everyone,
Greetings from Brazil! I'm a beginner learning Python, switching from C# .NET.
Here's the scenario: I was able to create a GUI form to add records to a MySQL database on my Localhost.
Now I'm trying to display the MySQL data from a SELECT statement into QLineEdit text boxes on my GUI form, but nothing worked so far. I am able to display the results of the SELECT stament in the console though.
Please refer to my code below. Thank you very much for your time and help. I really appreciate it!
Best regards.
Greetings from Brazil! I'm a beginner learning Python, switching from C# .NET.
Here's the scenario: I was able to create a GUI form to add records to a MySQL database on my Localhost.
Now I'm trying to display the MySQL data from a SELECT statement into QLineEdit text boxes on my GUI form, but nothing worked so far. I am able to display the results of the SELECT stament in the console though.
Please refer to my code below. Thank you very much for your time and help. I really appreciate it!
Best regards.
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'ui/usuarios.ui' # Created by: PyQt5 UI code generator 5.14.1 # WARNING! All changes made in this file will be lost! import pymysql from PyQt5 import QtCore, QtWidgets connection = pymysql.connect( host='localhost', user='user_name', password='XXXXXXXXX', db='database_name' ) class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(521, 326) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.pushButton_first = QtWidgets.QPushButton(self.centralwidget) self.pushButton_first.setGeometry(QtCore.QRect(65, 265, 90, 28)) self.pushButton_first.setObjectName("pushButton_first") self.pushButton_previous = QtWidgets.QPushButton(self.centralwidget) self.pushButton_previous.setGeometry(QtCore.QRect(165, 265, 90, 28)) self.pushButton_previous.setObjectName("pushButton_previous") self.pushButton_next = QtWidgets.QPushButton(self.centralwidget) self.pushButton_next.setGeometry(QtCore.QRect(265, 265, 90, 28)) self.pushButton_next.setObjectName("pushButton_next") self.pushButton_last = QtWidgets.QPushButton(self.centralwidget) self.pushButton_last.setGeometry(QtCore.QRect(365, 265, 90, 28)) self.pushButton_last.setObjectName("pushButton_last") self.lineEdit_name = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit_name.setGeometry(QtCore.QRect(160, 55, 261, 28)) self.lineEdit_name.setInputMethodHints(QtCore.Qt.ImhUppercaseOnly) self.lineEdit_name.setObjectName("lineEdit_name") self.lineEdit_email = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit_email.setGeometry(QtCore.QRect(160, 95, 181, 28)) self.lineEdit_email.setInputMethodHints(QtCore.Qt.ImhEmailCharactersOnly) self.lineEdit_email.setObjectName("lineEdit_email") self.lineEdit_pwd = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit_pwd.setGeometry(QtCore.QRect(160, 135, 113, 28)) self.lineEdit_pwd.setInputMethodHints(QtCore.Qt.ImhSensitiveData) self.lineEdit_pwd.setObjectName("lineEdit_pwd") self.lineEdit_market = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit_market.setGeometry(QtCore.QRect(160, 175, 113, 28)) self.lineEdit_market.setObjectName("lineEdit_market") self.label_name = QtWidgets.QLabel(self.centralwidget) self.label_name.setGeometry(QtCore.QRect(95, 60, 58, 16)) self.label_name.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_name.setObjectName("label_name") self.label_email = QtWidgets.QLabel(self.centralwidget) self.label_email.setGeometry(QtCore.QRect(95, 100, 58, 16)) self.label_email.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_email.setObjectName("label_email") self.label_pwd = QtWidgets.QLabel(self.centralwidget) self.label_pwd.setGeometry(QtCore.QRect(95, 140, 58, 16)) self.label_pwd.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_pwd.setObjectName("label_pwd") self.label_market = QtWidgets.QLabel(self.centralwidget) self.label_market.setGeometry(QtCore.QRect(95, 180, 58, 16)) self.label_market.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_market.setObjectName("label_market") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Usuários")) self.pushButton_next.setText(_translate("MainWindow", ">")) self.pushButton_previous.setText(_translate("MainWindow", "<")) self.pushButton_first.setText(_translate("MainWindow", "<<")) self.pushButton_last.setText(_translate("MainWindow", ">>")) self.label_name.setText(_translate("MainWindow", "Nome: ")) self.label_email.setText(_translate("MainWindow", "e-mail: ")) self.label_pwd.setText(_translate("MainWindow", "senha: ")) self.label_market.setText(_translate("MainWindow", "Market:")) try: with connection.cursor() as cursor: sql = "SELECT nome, email, senha, como_chegou FROM usuarios" try: cursor.execute(sql) print(cursor.rowcount) print("Record loaded successfully.") myresult = cursor.fetchall() for x in myresult: print(x) except: print("Oops! Something wrong.") connection.commit() finally: connection.close() 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_())