Python 参数1具有意外类型';非类型';?

Python 参数1具有意外类型';非类型';?,python,pyqt5,Python,Pyqt5,我的PyQt按钮操作有问题。我想用函数发送字符串,但出现以下错误: TypeError:参数1具有意外的类型“NoneType” 正如所建议的,它需要一个可调用的函数。在这种情况下,您应该将该参数替换为lambda:mixCocktail(“字符串”) 而且不要使用str这是python内置的数据类型,我已经用\u str import sys from PyQt5.QtWidgets import QApplication, QPushButton, QAction from PyQt5.Q

我的PyQt按钮操作有问题。我想用函数发送字符串,但出现以下错误:

TypeError:参数1具有意外的类型“NoneType”

正如所建议的,它需要一个可调用的函数。在这种情况下,您应该将该参数替换为
lambda:mixCocktail(“字符串”)
而且不要使用
str
这是python内置的数据类型,我已经用
\u 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: mixCocktail("string"))

widget.show()
sys.exit(app.exec_())
有关lambda函数的更多信息:

而不是此函数

widget.btn_ckt1.clicked.connect(混合鸡尾酒(“字符串”))

widget.btn_ckt1.clicked.connect(lambda:mixcocktack(“字符串”))


此错误显示在哪一行?回溯(最后一次调用):widget.btn_ckt1.clicked.connect(混合鸡尾酒(“字符串”))中第27行的文件“----\drinkmixer.py”类型错误:参数1具有意外的类型“NoneType”Ah。这是因为您没有从
mixCocktail()
返回任何内容。从联机查看的一些示例来看,它似乎需要一个可调用的函数。在这种情况下,您应该将该参数替换为
lambda:miccocktack(“string”)
非常感谢!现在它可以工作了。
str
不是一个关键字,而是一个内置类型。谢谢你的纠正,我知道我写错了什么。这个答案完全错了。正确的解决方案已在@ekhumoro.make wiki中给出,因为它来自您的两个帮助。
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: mixCocktail("string"))

widget.show()
sys.exit(app.exec_())