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



ЗНАЕТЕ ЛИ ВЫ?

from Tkinter import * tk = Tk()

Поиск

Для придания некоторым участкам текста особых свойств необходимо их отметить тегом.В данном случаеURLотмечается тегом href.Позднее с помощью метода tag_config() задаются свойства отображения текста,отмеченного таким тегом.Методом tag_bind() привязывается некоторое событие(щелчок мыши)с вызовом заданной функции

 

(fetch_url()).

 

В самой функции fetch_url()нужно в начале определить,на какой именно участок текста пришелся щелчок мыши.Для этого с помощью метода tag_ranges() получаются все интервалы,которые отмечены как href.Для определения конкретногоURLпроводятся сравнения(методом compare())точки щелчка мышью с каждым из интервалов.Так находится интервал,на который попал щелчок,и с помощью метода get()получается текстовое значение найденного интервала.НайдяURL,его в поле записываются адреса,и получаетсяHTML-код,соответствующийURL.

 

Этот пример показывает основные принципы работы с форматированным текстом.Примененными методами арсенал виджета не исчерпывается.О других методах и свойствах можно узнать из документации.

 

Менеджеры расположения

 

Следующий пример достаточно нагляден,чтобы понять принципы работы менеджеров расположения,имеющихся вTk.В трех рамках можно применить различные менеджеры:pack, grid и place:

 

from Tkinter import * tk = Tk()

# Создаем три рамки frames = {}

b = {}

for fn in 1, 2, 3:

f = Frame(tk, height=200, bg="White") f.pack(side=LEFT, fill=BOTH)

frames[fn] = f

for bn in 1, 2, 3, 4: # Создаются кнопки для каждой из рамок b[fn, bn] = Button(frames[fn], text="%s.%s" % (fn, bn))

# Первая рамка:

# Сначала две кнопки прикрепляются к левому краю

 

b[1, 1].pack(side=LEFT, fill=BOTH, expand=1) b[1, 2].pack(side=LEFT, fill=BOTH, expand=1)



Поделиться:


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

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