将输出打印到Tkinter文本小部件

时间:2014-03-13 11:36:57

标签: python-2.7 tkinter

我有一个脚本,它使用beautifulsoup来抓取产品条形码的网站,并拼凑了一些代码,试图用Tkinter制作一个基本的GUI。首先是一个要求输入URL的输入框,然后我想将该组输出到Tkinter文本小部件。这是我不能做的最后一部分。当我尝试将文本放入另一个示例时,我在text.insert上收到名称错误。

from Tkinter import *
from ScrolledText import *
import tkFileDialog
import tkMessageBox
import urllib2
import bs4 as bs
import re
import urlparse
import sys
master = Tk()

e = Entry(master)
e.pack()

e.focus_set()

def callback():
    url = e.get()

    response = urllib2.urlopen(url)
    content = response.read()
    soup = bs.BeautifulSoup(content)
    barcodes = set()
    for tag in soup.find_all('img', {'src': re.compile(r'/pi/')}):
        href = tag['src']
        scheme, netloc, path, query, fragment = urlparse.urlsplit(href)
        barcodes.add(path.split('\\')[1])
##    print "\n".join(str(x) for x in sorted(barcodes)) This would output to the shell.


b = Button(master, text="go", width=10, command=callback)
b.pack()

如果有值,我想启动另一个文本窗口并打印条形码。

##if len(barcodes) != 0:
##
##        import Tkinter
##        import ScrolledText
##        root = Tkinter.Tk(className=" Just another Text Editor")
##        textPad = ScrolledText.ScrolledText(root, width=100, height=80)
##        textPad.pack()
##
##        root.mainloop()

mainloop()

我一直在查看Tkinter文档大约一天,但没有进展。非常感谢任何指针。暂时说条形码没有定义,所以我显然做了别的错事。

0 个答案:

没有答案