Hi Dean,
Nope. The form itself is already built. Please refer to the full code below. Thanks for your feedback! :)
Nope. The form itself is already built. Please refer to the full code below. Thanks for your feedback! :)
import sys from datetime import date, datetime import pymongo.mongo_client from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5.QtWidgets import QMessageBox, QLineEdit connection = pymongo.MongoClient('localhost', 27017) database = connection['bremi691_ead'] collection = database['usuarios'] class UiDialog(object): def __init__(self): self.lineEdit_name = QtWidgets.QLineEdit(Dialog) self.lineEdit_email = QtWidgets.QLineEdit(Dialog) self.lineEdit_pwd = QtWidgets.QLineEdit(Dialog) self.lineEdit_mktg = QtWidgets.QLineEdit(Dialog) self.label_name = QtWidgets.QLabel(Dialog) self.label_email = QtWidgets.QLabel(Dialog) self.label_pwd = QtWidgets.QLabel(Dialog) self.label_mktg = QtWidgets.QLabel(Dialog) def setup_ui(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(448, 300) self.lineEdit_name.setGeometry(QtCore.QRect(140, 50, 241, 21)) self.lineEdit_name.setInputMethodHints(QtCore.Qt.ImhUppercaseOnly) self.lineEdit_name.setObjectName("lineEdit_name") self.lineEdit_email.setGeometry(QtCore.QRect(140, 90, 191, 21)) self.lineEdit_email.setInputMethodHints(QtCore.Qt.ImhEmailCharactersOnly) self.lineEdit_email.setObjectName("lineEdit_email") self.lineEdit_pwd.setGeometry(QtCore.QRect(140, 130, 131, 21)) self.lineEdit_pwd.setInputMethodHints(QtCore.Qt.ImhSensitiveData | QtCore.Qt.ImhUppercaseOnly) self.lineEdit_pwd.setObjectName("lineEdit_pwd") self.lineEdit_mktg.setGeometry(QtCore.QRect(140, 170, 131, 21)) self.lineEdit_mktg.setInputMethodHints(QtCore.Qt.ImhUppercaseOnly) self.lineEdit_mktg.setObjectName("lineEdit_mktg") self.label_name.setGeometry(QtCore.QRect(71, 50, 60, 16)) self.label_name.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_name.setObjectName("label_name") self.label_email.setGeometry(QtCore.QRect(71, 90, 60, 16)) self.label_email.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_email.setObjectName("label_email") self.label_pwd.setGeometry(QtCore.QRect(70, 130, 60, 16)) self.label_pwd.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_pwd.setObjectName("label_pwd") self.label_mktg.setGeometry(QtCore.QRect(60, 170, 71, 20)) self.label_mktg.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.label_mktg.setObjectName("label_mktg") button_ok = QtWidgets.QPushButton(Dialog) button_ok.setText("OK") button_ok.move(200, 225) button_ok.clicked.connect(insert_record) self.retranslate_ui(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslate_ui(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Add new student")) self.label_name.setText(_translate("Dialog", "Nome: ")) self.label_email.setText(_translate("Dialog", "e-mail: ")) self.label_pwd.setText(_translate("Dialog", "Senha:")) self.label_mktg.setText(_translate("Dialog", "Marketing:")) def clear_all(): my_form = {ui.lineEdit_name, ui.lineEdit_email, ui.lineEdit_pwd, ui.lineEdit_mktg} for fields in my_form: fields.clear() def insert_record(): try: if ui.lineEdit_name.text() and ui.lineEdit_email.text() and ui.lineEdit_pwd.text() and ui.lineEdit_mktg.text() != "": data = {'nome': ui.lineEdit_name.text(), 'email': ui.lineEdit_email.text(), 'senha': ui.lineEdit_pwd.text(), 'data_cadastro': datetime.today(), 'niveis_acesso_id': 1, 'validacao': 'sim', 'ativo': 0, 'como_chegou': ui.lineEdit_mktg.text()} collection.insert_one(data) clear_all() QMessageBox.information(None, "Informação:", "Dados adicionados com sucesso!") else: QMessageBox.warning(None, "Antenção:", "Por favor preencha os campos em branco!") except Exception: QMessageBox.critical(None, "Erro:", "Não foi possível inserir os dados.\n Cheque o servidor de dados.") if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) Dialog = QtWidgets.QDialog() ui = UiDialog() ui.setup_ui(Dialog) Dialog.show() sys.exit(app.exec_())