0

For some reason the clicked.connect() method does not wait for click and also makes my widget disappear.

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form():
    def __init__(self, nCode_analysis_set_up):
        nCode_analysis_set_up.resize(300, 60)
        nCode_analysis_set_up.setWindowFlags(nCode_analysis_set_up.windowFlags() | QtCore.Qt.MSWindowsFixedSizeDialogHint)
        nCode_analysis_set_up.setWindowTitle("nCode analysis set-up")
        self.importButton = QtWidgets.QPushButton(nCode_analysis_set_up)
        self.importButton.setGeometry(QtCore.QRect(10, 10, 280, 40))
        self.importButton.setText("Open import model")
        self.importButton.clicked.connect(self.input_model(nCode_analysis_set_up))

    def input_model(self,nCode_analysis_set_up):
        fileName, _ = QtWidgets.QFileDialog.getOpenFileName(None, "Select model","","Input deck (*.inp)",".inp")
        fileName = str(fileName)

        if fileName:
            nCode_analysis_set_up.resize(500, 150)
            self.importButton.deleteLater()

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    nCode_analysis_set_up = QtWidgets.QWidget()
    ui = Ui_Form(nCode_analysis_set_up)
    nCode_analysis_set_up.show()
    sys.exit(app.exec_())

If I comment out the click.connect method it works well and my single button form shows up. Can anyone see what I'm doing wrong?

eyllanesc
  • 235,170
  • 19
  • 170
  • 241
CristianCapsuna
  • 392
  • 3
  • 14

0 Answers0