如何在pyqt中显示带有URL的图像

时间:2017-06-11 09:24:53

标签: python pyqt

我使用了这段代码

from PyQt4.QtGui import QPixmap, QIcon
import urllib

url = 'http://example.com/image.png'    
data = urllib.urlopen(url).read()
pixmap = QPixmap()
pixmap.loadFromData(data)
icon = QIcon(pixmap)

我想要使用的网址:

http://www.0404.go.kr/imgsrc.mofa?atch_file_id=FILE_000000000006873&file_sn=1 http://www.0404.go.kr/imgsrc.mofa?atch_file_id=FILE_000000000002230&file_sn=1 。 。

这些网址来自韩国政府API。我想我的网址错误了。我该如何显示这些图像?

2 个答案:

答案 0 :(得分:0)

我认为链接直接包含图像,它们只是在服务器上运行初始化下载的脚本。因此,您无法使用链接显示图片(请注意,示例链接以mean结尾,直接引用图像文件,而您的链接仅包含一些查询数据)。您必须下载它们(或者,您可以将它们上传到其他位置,例如http://imgur.com/

答案 1 :(得分:0)

您的代码适用于您发布的链接,您只需将像素图分配给可在屏幕上显示的小部件。 <target name="-post-jar"> <taskdef resource="net/sf/antcontrib/antlib.xml"> <classpath> <!-- Path to ant-contrib --> <pathelement location="../../Libs/ant-contrib-1.0b3.jar"/> </classpath> </taskdef> <!-- Change the value to the name of the final jar without .jar --> <property name="store.jar.name" value="${application.title}"/> <!-- don't edit below this line --> <property name="store.dir" value="dist"/> <property name="temp.dir" value="temp"/> <property name="temp.libs.dir" value="temp/libs"/> <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/> <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/> <fileset id="store.jars.absolute" dir="${store.dir}" includes="*.jar"/> <pathconvert property="store.jars.relative" refid="store.jars.absolute" dirsep="/"> <map from="${basedir}/" to=""/> </pathconvert> <for list="${store.jars.relative}" param="item"> <sequential> <echo message="Adding @{item} into single JAR at ${store.jar}"/> </sequential> </for> <delete dir="${temp.dir}"/> <mkdir dir="${temp.dir}"/> <for list="${javac.classpath}" param="item" delimiter=":"> <sequential> <echo message="Adding @{item} into single JAR at ${store.jar}"/> <copy file="@{item}" todir="${temp.libs.dir}" overwrite="true" /> </sequential> </for> <jar destfile="${temp.dir}/temp_final.jar" filesetmanifest="skip"> <zipgroupfileset dir="${store.dir}" includes="*.jar"/> <zipgroupfileset dir="${temp.libs.dir}" includes="*.*"/> <manifest> <attribute name="Main-Class" value="${main.class}"/> </manifest> </jar> <delete dir="${store.dir}"/> <zip destfile="${store.jar}"> <zipfileset src="${temp.dir}/temp_final.jar" excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/> </zip> <delete dir="${temp.dir}"/> </target>类不应直接显示。

一种简单的方法是使用QIcon

QLabel