在Tkinter中显示来自网页的图像[Python 2.7]
问题描述:
我正在尝试制作一个小程序,可以从杂志(澳大利亚航空杂志)打开标题,图片和摘要,打开带有徽标/名称和图片,底部有一些按钮可供选择不同的配件。现在我有三个问题。在Tkinter中显示来自网页的图像[Python 2.7]
-
我决定去与主页的标题只是文字,但是当我在一个Tkinter的窗口中显示,它拥有一套{}周围。我如何摆脱它们?我的代码如下。
from urllib import urlopen from re import findall from Tkinter import * from StringIO import StringIO from PIL import Image, ImageTk url1 = 'http://australianaviation.com.au' AAhp = urlopen(url1) AAhp_code = AAhp.read() AAhp.close() AA_title = findall('<title>(.+)</title>', AAhp_code) aviation_australia = Tk() logo = Label(aviation_australia, text = AA_title, font=('Times', 24)) logo.pack() aviation_australia.mainloop()
我也想显示网页图像,因此简介屏幕看起来并不枯燥,但我不知道该怎么做......(记住我只有一直在使用Python大约10周,并且大部分时间都是在乌龟......)
最后,我真的不知道如何在一个Tkinter窗口中创建一个新页面,而这正是我所需要的。我是否使用框架(如果是这样,我如何让四分之四在那里并在按钮按下时变得可见/不可见),还是有其他方法?
所以是的,任何帮助将是惊人的,提前谢谢你! :D
答
在您的代码中,AA_title
是一个列表(调用findall
的结果)。在封面下,Tkinter使用Tcl解释器,而tcl将列表作为由大括号包围的元素。
假设你想要的值只在列表中的第一个项目,你需要做的是这样的:
logo = Label(..., text = AA_title[0], ...)
+0
工作,感谢您的帮助! :d –
您标签的'text'设置列表!尝试'text = AA_title [0]' –
[BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/)是解析HTML比regexps更简单的解决方案。 –