2016-07-08 70 views
0

事實上,這個問題被問了很多次,但找不到任何東西來解決我的問題。我有許多模塊在我的Python項目,它工作正常,但在創建項目的可執行文件,我得到的錯誤:AttributeError:'QString'對象沒有屬性'find'

AttributeError: 'QString' object has no attribute 'find'

不幸的是我不能讓重複的例子,因爲代碼是如此之大。但是,錯誤來自行了,這是接受用戶輸入

input = self.builselcom.currentText() 

持有類似hg19.bt2

我上面的線

tofind = ".bt2" 

的指標,並嘗試找到

input.find(tofind) 

注意:項目工作正常,但與可執行文件錯誤。

回答

1

您需要將用戶輸入轉換爲字符串。它應該只需將str加到input = str(self.builselcom.currentText())即可。希望這是有幫助的。

+0

如果這是他的問題,他也將在開發環境中(他稱之爲'項目')。 –

+0

您的陳述似乎是合理的,我不確定使用了哪個版本的'Qt',但是我猜這個可執行文件不能'輸入'用戶輸入。 –

+0

謝謝,它工作 – AwaitedOne

0

我的猜測是你的可執行文件正在使用不同版本的Qt DLL。 (我使用cx_Freeze和PySide,只能用於該環境。)QString類不存在於最新的DLL中,但它曾經用於;所以如果這個錯誤發生在我的設置中,我肯定會知道這是一個DLL問題。也許你可以嘗試顯式地將DLL複製到可執行文件目錄。