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

2024-05-14 03:55:18 发布

您现在位置:Python中文网/ 问答频道 /正文

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

TypeError: argument 1 has unexpected type '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_())

Tags: fromimportappuishowsyswidget按钮
1条回答
网友
1楼 · 发布于 2024-05-14 03:55:18

正如user3030010ekhumoro所建议的,它需要一个可调用的函数。在这种情况下,应该用lambda: micCocktail("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: micCocktail("string"))

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

相关问题 更多 >