from Tkinter import * import urllib 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

from Tkinter import * import urllib

Поиск

from Tkinter import * import urllib

tk = Tk()

txt = Text(tk, # поле с текстом txt.grid(row=0, column=0, rowspan=2)

 

addr=Text(tk, background="White", height=1) # поле

адреса

 

addr.grid(row=0, column=1)


 


page=Text(tk, background="White", # поле с html-

 

кодом

 

page.grid(row=1, column=1)

 

def fetch_url(event):

 

click_point = "@%s,%s" % (event.x, event.y)

 

trs = txt.tag_ranges("href") # список областей текста,

отмеченных как href

url = ""

# определяется, на какой участок пришелся щелчок мыши, и

 

берется

 

# соответствующий ему URL

for i in range(0, len(trs), 2):

 

if txt.compare(trs[i], "<=", click_point) and \ txt.compare(click_point, "<=", trs[i+1]): url = txt.get(trs[i], trs[i+1])

 

html_doc = urllib.urlopen(url).read() addr.delete("1.0", END)

 

addr.insert("1.0", url) # URL помещается в поле адреса page.delete("1.0", END)

 

page.insert("1.0", html_doc) # показывается HTML-документ

 

textfrags = ["Python main site: ", "http://www.python.org", "\nJython site: ", "http://www.jython.org", "\nThat is all!"]

 

for frag in textfrags:

 

if frag.startswith("http:"):

txt.insert(END, frag, "href") # URL помещается в текст с

меткой href

else:

# фрагмент помещается в текст

 

txt.insert(END, frag)

 

 

# ссылки отмечаются подчеркиванием и синим цветом txt.tag_config("href", foreground="Blue", underline=1)

# при щелчке мыши на тексте, отмеченном как "href",

# следует вызывать fetch_url()

 

txt.tag_bind("href", "<1>", fetch_url)

 

tk.mainloop()             # запускается цикл событий

 

В результате(после нажатия на гиперссылку)можно увидеть примерно следующее:


 

 




Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 58; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.008 с.)