Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 13, 2010 14:16:18

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Tkinter разноцветный текст

собственно вот. можно ли сделать на TK в одном виджите разноцветный текст, т.е. подсветку синтаксиса. + должна быть способность выделить весь этот текст и скопировать.



Офлайн

#2 Июнь 13, 2010 15:54:57

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Tkinter разноцветный текст

Можно. По крайней мере так говорится в доке по Tkinter. Виджет Text.
Не пробовал сам.
.add_tag(tagName, index1, index2=None) вешает на текст от index1 до index2 тег.
.tag_configure(tagName, options) позволяет изменить шрифт, цвет, фон и так далее.

То есть достаточно задать для тегов настройки. А затем добавлять любой тег к нужному тексту.
Детально в “Tkinter referense: a GUI for Python”.



Офлайн

#3 Июнь 13, 2010 19:50:19

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Tkinter разноцветный текст

Смотрите в исходниках IDLE



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Июнь 13, 2010 22:09:02

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Tkinter разноцветный текст

спс, то что надо

from Tkinter import *

root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()

text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background="yellow", foreground="blue")
text.tag_config("start", background="black", foreground="green")
root.mainloop()



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version