参数 1 具有意外类型“NoneType”?
- 2025-02-11 09:51:00
- admin 原创
- 67
问题描述:
我的 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_())
解决方案 1:
根据user3030010和ekhumoro的建议,它需要一个可调用函数。在这种情况下,你应该用 替换该参数,lambda: mixCocktail("string")
并且也不要使用str
它,因为它是 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: mixCocktail("string"))
widget.show()
sys.exit(app.exec_())
有关 lambda 函数的更多信息:什么是 lambda(函数)?
解决方案 2:
而不是这个
widget.btn_ckt1.clicked.connect(mixCocktail("string"))
写
widget.btn_ckt1.clicked.connect(lambda:mixCocktail("string"))
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD