python pyqt5

python - El argumento 1 tiene un tipo inesperado ''NoneType''?



pyqt5 (1)

Tengo un problema con la acción del botón PyQt. Me gustaría enviar una cadena con la función, pero recibí este error:

TypeError: el argumento 1 tiene un tipo inesperado ''NoneType''

import sys from PyQt5.QtWidgets import QApplication, QPushButton, QAction from PyQt5.QtCore import QObject, pyqtSignal from PyQt5.QtGui import * from PyQt5.uic import * app = QApplication(sys.argv) cocktail = loadUi(''create.ui'') def mixCocktail(str): cocktail.show() cocktail.showFullScreen() cocktail.lbl_header.setText(str) widget = loadUi(''drinkmixer.ui'') widget.btn_ckt1.clicked.connect(mixCocktail("string")) widget.show() sys.exit(app.exec_())


Según lo sugerido por user3030010 y ekhumoro , espera una función invocable. En cuyo caso, debe reemplazar ese argumento con lambda: micCocktail("string") Y TAMBIÉN no use str , es un tipo de datos incorporado en Python. Lo he reemplazado con _str

import sys from PyQt5.QtWidgets import QApplication, QPushButton, QAction from PyQt5.QtCore import QObject, pyqtSignal from PyQt5.QtGui import * from PyQt5.uic import * app = QApplication(sys.argv) cocktail = loadUi(''create.ui'') def mixCocktail(_str): cocktail.show() cocktail.showFullScreen() cocktail.lbl_header.setText(_str) widget = loadUi(''drinkmixer.ui'') widget.btn_ckt1.clicked.connect(lambda: micCocktail("string")) widget.show() sys.exit(app.exec_())