web-dev-qa-db-ja.com

引数1に予期しないタイプ「NoneType」がありますか?

PyQtボタンのアクションに問題があります。関数で文字列を送信したいのですが、次のエラーが発生しました:

TypeError:引数1に予期しないタイプ '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_())
5
Darkdrummer

ser303001ekhumoro で提案されているように、呼び出し可能な関数を想定しています。その場合、その引数をlambda: micCocktail("string")に置き換える必要がありますAND ALSOstrは使用しないでくださいpython組み込みデータ型_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_())
11
harshil9968