2015-10-05 107 views
0

我正在尝试制作一个小程序,可以从杂志(澳大利亚航空杂志)打开标题,图片和摘要,打开带有徽标/名称和图片,底部有一些按钮可供选择不同的配件。现在我有三个问题。在Tkinter中显示来自网页的图像[Python 2.7]

  1. 我决定去与主页的标题只是文字,但是当我在一个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() 
    
  2. 我也想显示网页图像,因此简介屏幕看起来并不枯燥,但我不知道该怎么做......(记住我只有一直在使用Python大约10周,并且大部分时间都是在乌龟......)

  3. 最后,我真的不知道如何在一个Tkinter窗口中创建一个新页面,而这正是我所需要的。我是否使用框架(如果是这样,我如何让四分之四在那里并在按钮按下时变得可见/不可见),还是有其他方法?

所以是的,任何帮助将是惊人的,提前谢谢你! :D

+0

您标签的'text'设置列表!尝试'text = AA_title [0]' –

+0

[BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/)是解析HTML比regexps更简单的解决方案。 –

回答

0

在您的代码中,AA_title是一个列表(调用findall的结果)。在封面下,Tkinter使用Tcl解释器,而tcl将列表作为由大括号包围的元素。

假设你想要的值只在列表中的第一个项目,你需要做的是这样的:

logo = Label(..., text = AA_title[0], ...) 
+0

工作,感谢您的帮助! :d –