0

Python と PyQt4 を使用してプロジェクトを終了しようとしていますが、作成した関数を介して QLineEdit 変数を渡す際に問題が発生しています。文字列は URL として機能する必要があり、URL を読み取ってそのコンテンツを取得しようとする最初の引数に渡すと、次のエラーがスローされます。

Traceback (most recent call last):
  File "programa2.py", line 158, in on_link_clicked
    download_mango(self.a, self.path2)

  File "c:\Users\Poblet\ManGet\mango.py", line 19, in download_mango
    urlContent = urllib2.urlopen(url).read() # We read the URL

  File "c:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)

  File "c:\Python27\lib\urllib2.py", line 386, in open
    protocol = req.get_type()

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

これは、次のアクションによってトリガーされます。

def on_link_clicked(self):
    self.a = self.linkEdit.displayText()
    download_mango(self.a, self.path2)

そして、私は完全に迷っています。PyQt4の問題か、私の機能に問題があるのでしょうか?

私はあなたの助けに感謝します。

4

2 に答える 2

1

あなたの声明を正当化するのに十分なコードを投稿しませんでした

文字列は URL として機能し、最初の引数を介して渡すと

QString を urlopen に渡しているようです。包むだけstr()でOKです。

>>> url = QString('http://stackoverflow.com/questions/11121475')
>>> urllib2.urlopen(url).read()
### this generates your error ending with
AttributeError: 'QString' object has no attribute 'get_type'

>>> urllib2.urlopen(str(url)).read()
### works
于 2012-06-20T16:57:49.400 に答える
0

self.a がありません

http://」または「https://

試す

download_mango("http://"+self.a,self.path2)

http://www.nullege.com/codes/search/urllib2.Request.get_typeを参照してください。

于 2012-06-20T15:57:45.953 に答える