Помогите пожалуйста с кодом на Python, нужно чтобы при нажатии на next_Button данные отправлялись на сервер

from PyQt6 import QtCore, QtGui, QtWidgets
from PyQt6 import QtCore, QtGui, QtWidgets
from pymongo import MongoClient
from bson.objectid import ObjectId
import datetime


class Ui_Registration(object):
    def setup_connections(self):  # новый метод для вызова кнопки
        self.next_Button.clicked.connect(self.on_next_button_clicked)
    def setupUi(self, Registration):
        Registration.setObjectName("Registration")
        Registration.resize(700, 700)
        Registration.setMinimumSize(QtCore.QSize(700, 700))
        Registration.setMaximumSize(QtCore.QSize(700, 700))
        font = QtGui.QFont()
        font.setFamily("Segoe UI Variable Text Semibold")
        font.setBold(True)
        font.setWeight(75)
        Registration.setFont(font)
        Registration.setFocusPolicy(QtCore.Qt.FocusPolicy.ClickFocus)
        Registration.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.ActionsContextMenu)
        Registration.setAcceptDrops(False)
        Registration.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        Registration.setAutoFillBackground(False)
        Registration.setStyleSheet("font family: Segoe UI Variable Text Semibold")
        self.label = QtWidgets.QLabel(parent=Registration)
        self.label.setGeometry(QtCore.QRect(270, 50, 159, 36))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(0, 255, 0))
        brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern)
        palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Highlight, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 255, 0))
        brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern)
        palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Highlight, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 120, 215))
        brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern)
        palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Highlight, brush)
        self.label.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Segoe UI Variable Text Semibold")
        font.setPointSize(20)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setStyleSheet("text-align:center;\n"
"")
        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label.setObjectName("label")
        self.lineEdit = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit.setGeometry(QtCore.QRect(200, 120, 300, 45))
        self.lineEdit.setTabletTracking(False)
        self.lineEdit.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit.setAutoFillBackground(False)
        self.lineEdit.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_2.setGeometry(QtCore.QRect(200, 180, 300, 45))
        self.lineEdit_2.setTabletTracking(False)
        self.lineEdit_2.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_2.setAutoFillBackground(False)
        self.lineEdit_2.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.lineEdit_4 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_4.setGeometry(QtCore.QRect(200, 240, 300, 45))
        self.lineEdit_4.setTabletTracking(False)
        self.lineEdit_4.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_4.setAutoFillBackground(False)
        self.lineEdit_4.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.lineEdit_3 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_3.setGeometry(QtCore.QRect(200, 300, 300, 45))
        self.lineEdit_3.setTabletTracking(False)
        self.lineEdit_3.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_3.setAutoFillBackground(False)
        self.lineEdit_3.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_5 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_5.setGeometry(QtCore.QRect(200, 360, 300, 45))
        self.lineEdit_5.setTabletTracking(False)
        self.lineEdit_5.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_5.setAutoFillBackground(False)
        self.lineEdit_5.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.lineEdit_6 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_6.setGeometry(QtCore.QRect(200, 420, 300, 45))
        self.lineEdit_6.setTabletTracking(False)
        self.lineEdit_6.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_6.setAutoFillBackground(False)
        self.lineEdit_6.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.comboBox = QtWidgets.QComboBox(parent=Registration)
        self.comboBox.setGeometry(QtCore.QRect(200, 540, 300, 45))
        font = QtGui.QFont()
        font.setFamily("Segoe UI Variable Text Semibold")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.comboBox.setFont(font)
        self.comboBox.setDuplicatesEnabled(False)
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.setItemText(0, "")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.next_Button = QtWidgets.QPushButton(parent=Registration)
        self.next_Button.setGeometry(QtCore.QRect(299, 600, 100, 50))
        self.next_Button.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
        self.next_Button.setStyleSheet("\n"
"font: 63 14pt \"Segoe UI Variable Text Semibold\";\n"
"text-align: center;\n"
"\n"
"")
        self.next_Button.setObjectName("next_Button") #кнопка
        self.lineEdit_7 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_7.setGeometry(QtCore.QRect(200, 480, 300, 45))
        self.lineEdit_7.setTabletTracking(False)
        self.lineEdit_7.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_7.setAutoFillBackground(False)
        self.lineEdit_7.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_7.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
        self.lineEdit_7.setObjectName("lineEdit_7")
        self.pushButton_2 = QtWidgets.QPushButton(parent=Registration)
        self.pushButton_2.setGeometry(QtCore.QRect(277, 659, 151, 23))
        self.pushButton_2.setStyleSheet("\n"
"\n"
"    background: none;\n"
"    border: none;\n"
"    padding: 0;\n"
"    font: inherit;\n"
"    color: blue;\n"
"    text-decoration: underline;\n"
"    cursor: pointer;\n"
"\n"
"")
        self.pushButton_2.setObjectName("pushButton_2")
        self.retranslateUi(Registration)
        QtCore.QMetaObject.connectSlotsByName(Registration)
    
    def retranslateUi(self, Registration):
        _translate = QtCore.QCoreApplication.translate
        Registration.setWindowTitle(_translate("Registration", "Регистрация"))
        self.label.setText(_translate("Registration", "Регистрация"))
        self.lineEdit.setPlaceholderText(_translate("Registration", "Фамилия"))
        self.lineEdit_2.setPlaceholderText(_translate("Registration", "Имя"))
        self.lineEdit_4.setPlaceholderText(_translate("Registration", "Отчество"))
        self.lineEdit_3.setPlaceholderText(_translate("Registration", "Паспорт"))
        self.lineEdit_5.setPlaceholderText(_translate("Registration", "ИНН"))
        self.lineEdit_6.setPlaceholderText(_translate("Registration", "СНИЛС"))
        self.comboBox.setItemText(1, _translate("Registration", "Директор"))
        self.comboBox.setItemText(2, _translate("Registration", "Специалист"))
        self.comboBox.setItemText(3, _translate("Registration", "Бухгалтер"))
        self.next_Button.setText(_translate("Registration", "Далее"))
        self.lineEdit_7.setPlaceholderText(_translate("Registration", "Пароль"))
        self.pushButton_2.setText(_translate("Registration", "Уже зарегистрировались?"))

client = MongoClient("**********************************")
# не обращай внимания что нет шифрования это для курсовой)
db = client.users_data
collection = db.user
#функция которая должна вызываться при нажатии на next_Button
def on_next_button_clicked(self):
    collection.insert_one({
            'Фамилия': self.lineEdit.text(),
            'Имя': self.lineEdit_2.text(),
            'Отчество': self.lineEdit_4.text(),
            'Паспорт': self.lineEdit_3.text(),
            'ИНН': self.lineEdit_5.text(),
            'Cнилс': self.lineEdit_6.text(),
            'Пароль': self.lineEdit_7.text(),
            'Должность': self.comboBox.currentText(),
            'Дата': datetime.datetime.now()
        })

Ответы (1 шт):

Автор решения: S. Nick
  1. ВСЕГДА предоставляйте минимально-воспроизводимый пример, который демонстрирует проблему.

  2. НИКОГДА НЕ ИЗМЕНЯЙТЕ код, сгенерированный Qt Designer, НИКОГДА.
    Создайте другой класс, который наследуется от соответствующего виджета, и используйте созданный класс для его заполнения.

  3. Я не могу проверить ваш код, но попробуйте продолжить то, что я вам написал


'''
from PyQt6 import QtCore, QtGui, QtWidgets                           # PyQt6
'''
from PyQt5 import QtCore, QtGui, QtWidgets                           # PyQt5

# ?from pymongo import MongoClient
# ?from bson.objectid import ObjectId
import datetime


class Ui_Registration(object):
# ?    def setup_connections(self):  # новый метод для вызова кнопки
# ?        self.next_Button.clicked.connect(self.on_next_button_clicked)
        
    def setupUi(self, Registration):
        Registration.setObjectName("Registration")
        Registration.resize(700, 700)
        Registration.setMinimumSize(QtCore.QSize(700, 700))
        Registration.setMaximumSize(QtCore.QSize(700, 700))
        font = QtGui.QFont()
        font.setFamily("Segoe UI Variable Text Semibold")
        font.setBold(True)
        font.setWeight(75)
        Registration.setFont(font)
        Registration.setFocusPolicy(QtCore.Qt.FocusPolicy.ClickFocus)
        Registration.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.ActionsContextMenu)
        Registration.setAcceptDrops(False)
        Registration.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        Registration.setAutoFillBackground(False)
        Registration.setStyleSheet("font family: Segoe UI Variable Text Semibold")
        self.label = QtWidgets.QLabel(parent=Registration)
        self.label.setGeometry(QtCore.QRect(270, 50, 159, 36))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(0, 255, 0))
        brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern)
        palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Highlight, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 255, 0))
        brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern)
        palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Highlight, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 120, 215))
        brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern)
        palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Highlight, brush)
        self.label.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("Segoe UI Variable Text Semibold")
        font.setPointSize(20)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setStyleSheet("text-align:center;\n"
"")
        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label.setObjectName("label")
        self.lineEdit = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit.setGeometry(QtCore.QRect(200, 120, 300, 45))
        self.lineEdit.setTabletTracking(False)
        self.lineEdit.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit.setAutoFillBackground(False)
        self.lineEdit.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_2.setGeometry(QtCore.QRect(200, 180, 300, 45))
        self.lineEdit_2.setTabletTracking(False)
        self.lineEdit_2.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_2.setAutoFillBackground(False)
        self.lineEdit_2.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.lineEdit_4 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_4.setGeometry(QtCore.QRect(200, 240, 300, 45))
        self.lineEdit_4.setTabletTracking(False)
        self.lineEdit_4.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_4.setAutoFillBackground(False)
        self.lineEdit_4.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.lineEdit_3 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_3.setGeometry(QtCore.QRect(200, 300, 300, 45))
        self.lineEdit_3.setTabletTracking(False)
        self.lineEdit_3.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_3.setAutoFillBackground(False)
        self.lineEdit_3.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_5 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_5.setGeometry(QtCore.QRect(200, 360, 300, 45))
        self.lineEdit_5.setTabletTracking(False)
        self.lineEdit_5.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_5.setAutoFillBackground(False)
        self.lineEdit_5.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.lineEdit_6 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_6.setGeometry(QtCore.QRect(200, 420, 300, 45))
        self.lineEdit_6.setTabletTracking(False)
        self.lineEdit_6.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_6.setAutoFillBackground(False)
        self.lineEdit_6.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.comboBox = QtWidgets.QComboBox(parent=Registration)
        self.comboBox.setGeometry(QtCore.QRect(200, 540, 300, 45))
        font = QtGui.QFont()
        font.setFamily("Segoe UI Variable Text Semibold")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.comboBox.setFont(font)
        self.comboBox.setDuplicatesEnabled(False)
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.setItemText(0, "")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.next_Button = QtWidgets.QPushButton(parent=Registration)
        self.next_Button.setGeometry(QtCore.QRect(299, 600, 100, 50))
        self.next_Button.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
        self.next_Button.setStyleSheet("\n"
"font: 63 14pt \"Segoe UI Variable Text Semibold\";\n"
"text-align: center;\n"
"\n"
"")
        self.next_Button.setObjectName("next_Button") #кнопка
        self.lineEdit_7 = QtWidgets.QLineEdit(parent=Registration)
        self.lineEdit_7.setGeometry(QtCore.QRect(200, 480, 300, 45))
        self.lineEdit_7.setTabletTracking(False)
        self.lineEdit_7.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
        self.lineEdit_7.setAutoFillBackground(False)
        self.lineEdit_7.setStyleSheet("font: 63 14pt \"Segoe UI Variable Text Semibold\";")
        self.lineEdit_7.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
        self.lineEdit_7.setObjectName("lineEdit_7")
        self.pushButton_2 = QtWidgets.QPushButton(parent=Registration)
        self.pushButton_2.setGeometry(QtCore.QRect(277, 659, 151, 23))
        self.pushButton_2.setStyleSheet("\n"
"\n"
"    background: none;\n"
"    border: none;\n"
"    padding: 0;\n"
"    font: inherit;\n"
"    color: blue;\n"
"    text-decoration: underline;\n"
"    cursor: pointer;\n"
"\n"
"")
        self.pushButton_2.setObjectName("pushButton_2")
        self.retranslateUi(Registration)
        QtCore.QMetaObject.connectSlotsByName(Registration)
    
    def retranslateUi(self, Registration):
        _translate = QtCore.QCoreApplication.translate
        Registration.setWindowTitle(_translate("Registration", "Регистрация"))
        self.label.setText(_translate("Registration", "Регистрация"))
        self.lineEdit.setPlaceholderText(_translate("Registration", "Фамилия"))
        self.lineEdit_2.setPlaceholderText(_translate("Registration", "Имя"))
        self.lineEdit_4.setPlaceholderText(_translate("Registration", "Отчество"))
        self.lineEdit_3.setPlaceholderText(_translate("Registration", "Паспорт"))
        self.lineEdit_5.setPlaceholderText(_translate("Registration", "ИНН"))
        self.lineEdit_6.setPlaceholderText(_translate("Registration", "СНИЛС"))
        self.comboBox.setItemText(1, _translate("Registration", "Директор"))
        self.comboBox.setItemText(2, _translate("Registration", "Специалист"))
        self.comboBox.setItemText(3, _translate("Registration", "Бухгалтер"))
        self.next_Button.setText(_translate("Registration", "Далее"))
        self.lineEdit_7.setPlaceholderText(_translate("Registration", "Пароль"))
        self.pushButton_2.setText(_translate("Registration", "Уже зарегистрировались?"))


class MainWindow(QtWidgets.QWidget, Ui_Registration):
    def __init__(self):
        super().__init__()

        self.setupUi(self)


        '''
        client = MongoClient("**********************************")
        # не обращай внимания что нет шифрования это для курсовой)
        db = client.users_data
        self.collection = db.user
# ----> ^^^^^ <---------------------------------------------------------------
        '''
        self.next_Button.clicked.connect(self.on_next_button_clicked)    # +++

    #функция которая должна вызываться при нажатии на next_Button
    def on_next_button_clicked(self):
        fio = self.lineEdit.text()
        ...
        password = self.lineEdit_7.text()
        # ...
        
        if not fio and not password:
            ...
           
            msg = QtWidgets.QMessageBox.information(
                self, 
                'Внимание', 
                'Заполните все необходимые поля.'
            )
            return
    
        print(f'\nфункция, которая должна вызываться при нажатии на next_Button: '
              f'{self.sender().text()}') #
        '''       
# ----> vvvvv <---------------------------------------------------------------
        self.collection.insert_one({
                'Фамилия': fio,
                'Имя': self.lineEdit_2.text(),
                'Отчество': self.lineEdit_4.text(),
                'Паспорт': self.lineEdit_3.text(),
                'ИНН': self.lineEdit_5.text(),
                'Cнилс': self.lineEdit_6.text(),
                'Пароль': self.lineEdit_7.text(),
                'Должность': self.comboBox.currentText(),
                'Дата': datetime.datetime.now()
            })
        '''


if __name__ == '__main__':
    import sys
    
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())    

введите сюда описание изображения

→ Ссылка