изображение как гиперссылка в python/tkinter

Думаю, что нет, но я должен спросить... Я написал вики на python/tkinter, где гиперссылки управляются tkHyperlinkManager (http://effbot.org/zone/tkinter-text-hyperlink.htm) в текстовом виджете. Все отлично, но хотелось бы еще использовать кликабельные картинки - возможно ли это? Я вижу, что гиперссылки работают по тегам, и я не могу найти способ добавить теги к изображению.

алессандро


person alessandro    schedule 11.05.2012    source источник
comment
Я не вижу причин, по которым вы не должны создавать интерактивные изображения, поскольку Text виджеты могут содержать Tkinter.PhotoImage экземпляров...   -  person mgilson    schedule 11.05.2012
comment
Посмотрев еще немного, я думаю, что вы, возможно, правы. Один из обходных путей может состоять в том, чтобы поместить ваше изображение в метку, вставить метку с помощью window_create, а затем привязать ваши обратные вызовы к метке. (Возможно, вы могли бы взломать все это в tkHyperlinkManager, проверяя, получили ли вы PhotoImage или текст)...   -  person mgilson    schedule 11.05.2012


Ответы (1)


tkHyperLinkManager не поддерживает его, но это очень просто благодаря функциям, уже встроенным в текстовый виджет. Все, что вам нужно сделать, это создать ярлык с вашим изображением, вставить ярлык и добавить привязку к ярлыку.

Например:

import Tkinter as tk
...
image_link = tk.Label(text_widget, image=my_image, cursor="left_ptr")
image_link.bind("<1>", do_something)
text_widget.window_create("insert", window=image_link)
person Bryan Oakley    schedule 11.05.2012