PyQt5 Добавление коннектора событий в QPushButton - PullRequest
0 голосов
/ 28 апреля 2020

Мне нужна помощь с ошибкой PyQt5, которую я получаю:

'NoneType' object has no attribute 'clicked'

, когда я пытался сделать что-то вроде этого:

Main.py :

from ui import *
from fbs_runtime.application_context.PyQt5 import ApplicationContext
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
# ...
def login_setup():
    submit = ui.findChild(QtWidgets.QPushButton, "Submit")
    # ...
    submit.clicked.connect(login)

def login():
    print("Logging In ...") # Minimized the function

class LoginDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super(LoginDialog, self).__init__(parent=parent)
        ui = Ui_Dialog()
        ui.setupUi(self)

if __name__ == "__main__":
    appctxt = ApplicationContext()
    app = QtWidgets.QApplication(sys.argv)
    ui = LoginDialog()
    login_setup()
    ui.show()
    sys.exit(appctxt.app.exec_())

Ui.py :

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(320, 240)
        self.pushButton = QtWidgets.QPushButton(Dialog)
        self.pushButton.setGeometry(QtCore.QRect(210, 200, 75, 23))
        self.pushButton.setObjectName("Submit")

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.pushButton.setText(_translate("Dialog", "Login"))

Я делаю это так, потому что я постоянно делаю изменения пользовательского интерфейса и обновляю их с помощью pyuic5 в файл ui.py работает над.

Как мне go исправить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...