相关疑难解决方法(0)

Tkinter在文本小部件中添加行号

试图学习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()
Run Code Online (Sandbox Code Playgroud)

我在一个名为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)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会在帧上给出一些奇怪的数字.有更简单的解决方案吗?怎么解决这个问题?

python tkinter

16
推荐指数
1
解决办法
8547
查看次数

标签 统计

python ×1

tkinter ×1