2016-07-08 8 views
0

実際、この質問は何度も尋ねられますが、私の問題を解決するためのものは何も見つかりませんでした。私は自分のPythonプロジェクトに多くのモジュールを持っており、それは、しかし、私はエラーを取得し、そのプロジェクトの実行ファイルの作成には、正常に動作します:コードは非常に大きいようAttributeError: 'QString'オブジェクトに属性 'find'がありません

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

残念ながら、私は、再現性の例を作ることができなかったし。しかし、エラーが、私は上記の行

tofind = ".bt2" 

のインデックスを持っているとことで探してみてくださいhg19.bt2

のようなものを保持しているユーザーの入力に

input = self.builselcom.currentText() 

受け入れることですライン、から来ています

input.find(tofind) 

注:プロジェクトは正常に動作しますが、実行可能ファイルでエラーが発生します。

答えて

1

ユーザー入力を文字列に変換する必要があります。それはちょうどstrinput = str(self.builselcom.currentText())に加えるだけで動作するはずです。これが参考になることを願っています。

+0

これが問題だった場合、彼は開発環境(彼が「プロジェクト」と呼んでいるもの)にもそれを持ちます。 –

+0

あなたは文が妥当であると思われますが、 'Qt'のどのバージョンが使われているのかよくわかりませんが、実行可能ファイルがユーザ入力を'型キャスト 'できないと思います。 –

+0

ありがとう、それは働いた – AwaitedOne

0

私の推測では、実行ファイルが異なるバージョンのQt DLLを使用していると思います。 (私はcx_FreezeとPySideを使用し、その環境だけを話すことができます。)QStringクラスは最新のDLLには存在しませんでした。私のセットアップでこのエラーが発生した場合は、DLLの問題であることがわかりました。おそらく、実行可能ディレクトリにDLLを明示的にコピーすることができます。

関連する問題