我正在創建一個函數,它使用字典替換文本文件中的單詞,即如果在文件中遇到第一個單詞對,由第二個取代。此外,當GUI中的小部件被用戶佔用時創建的功能被調用。所以創建的函數都存在於一個UI類中。 (希望這是有道理的)。我正在使用pythonPython:TypeError:QString .__ getitem __():參數與任何重載調用不匹配
字典看起來像這樣(dictlist = {'test':'rest','happy':'sad','big':'small'})。該函數直接在Python編輯器中編寫時工作正常,但是當我將它複製到翻譯的.ui代碼時,出現以下錯誤。任何人都可以建議爲什麼會發生這種情況。我對此很陌生,所以希望我的解釋有道理。
line = rpairs(line, dictlist)
line 1486, in rpairs
temp = temp.replace(key, dictlist[key])
TypeError: QString.__getitem__(): arguments did not match any overloaded call:
overload 1: argument 1 has unexpected type 'QString'
overload 2: argument 1 has unexpected type 'QString'
def temp(self):
import string
global filename
global mytemp
dictlist = self.lineEdit_dict.text()
filename2 = self.lineEdit_outputfilename.text()
f1 = open(filename, 'r')
f2 = open('filename2', 'w')
def rpairs (temp, dictlist):
for key in dictlist:
temp = temp.replace(key, dictlist[key])
return temp
for line in f1:
line = rpairs(line, dictlist)
f2.write(line)
f2.close()
return mytemp
您是否試圖通過閱讀self.lineEdit_dict.text()來構造'dictlist'作爲字典?或者您已經在程序代碼中使用了它? –