Попытка узнать tkinter и python. Я хочу отобразить номер строки для виджета "Текст" в соседнем фрейме
from Tkinter import *
root = Tk()
txt = Text(root)
txt.pack(expand=YES, fill=BOTH)
frame= Frame(root, width=25)
#
frame.pack(expand=NO, fill=Y, side=LEFT)
root.mainloop()
Я видел пример на сайте под названием unpythonic, но он предполагает, что высота строки txt равна 6 пикселям.
Я пробую что-то вроде этого:
1) Привязка Any-KeyPress к функции, которая возвращает строку, на которой происходит нажатие клавиши:
textPad.bind("<Any-KeyPress>", linenumber)
def linenumber(event=None):
line, column = textPad.index('end').split('.')
#creating line number toolbar
try:
linelabel.pack_forget()
linelabel.destroy()
lnbar.pack_forget()
lnbar.destroy()
except:
pass
lnbar = Frame(root, width=25)
for i in range(0, len(line)):
linelabel= Label(lnbar, text=i)
linelabel.pack(side=LEFT)
lnbar.pack(expand=NO, fill=X, side=LEFT)
К сожалению, это дает некоторые странные числа в кадре. Есть ли более простое решение? Как подойти к этому.
Thnks