2016-12-05 42 views
3

我的PyQt按鈕操作出現問題。我想送一個字符串的功能,但我得到這個錯誤:參數1有意想不到的類型'NoneType'?

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_()) 
+0

什麼線這個錯誤最多顯示取代了它? – user3030010

+0

回溯(最近一次通話最後): 文件「------ \ drinkmixer.py」,第27行,在 widget.btn_ckt1.clicked.connect(mixCocktail(「string」)) TypeError:argument 1有意想不到的類型'NoneType' – Darkdrummer

+0

啊。那是因爲你沒有從'mixCocktail()'返回任何東西。 – user3030010

回答

8

正如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_()) 
+1

'str'不是關鍵字 - 它是一種內置類型。 – ekhumoro

+0

感謝您糾正,我知道我寫錯了什麼。 – harshil9968

+0

這個答案是完全錯誤的。正確的解決方案在[comment30301010]中給出(http://stackoverflow.com/questions/40982518/argument-1-has-unexpected-type-nonetype#comment69174849_40982518)。 – ekhumoro

相關問題