如何在tkinter python的状态栏中显示行号和列号
Posted
技术标签:
【中文标题】如何在tkinter python的状态栏中显示行号和列号【英文标题】:How to show line number and column number in status bar in tkinter python 【发布时间】:2021-11-12 12:37:24 【问题描述】:我想在状态栏中添加行号和列号,但我不明白如何添加。请帮助我,如何在 Python Tkinter 状态栏中显示行号和列号。
from tkinter import *
root = Tk()
root.title("Testing 6.py")
root.geometry('500x500')
StatusBar = Frame(root, width=10, borderwidth=1, relief=SUNKEN)
StatusBar.pack(side=BOTTOM, fill=X)
StatusBarlabel = Label(StatusBar, text='My Notepad')
StatusBarlabel.pack(side=LEFT)
root.mainloop()
【问题讨论】:
【参考方案1】:据我了解,您希望显示光标当前在文本小部件中的位置(行:列),所以这里有一个关于如何做到这一点的最小示例:
from tkinter import Tk, Text, Label
def update_label():
row, col = text.index('insert').split('.')
label.config(text=f'row:col')
root.after(100, update_label)
root = Tk()
text = Text(root)
text.pack(fill='both', expand=True)
label = Label(root, anchor='e')
label.pack(fill='x')
update_label()
root.mainloop()
基本上只是有一个循环,它将使用.index
方法和"insert"
的值不断获取当前索引,它返回当前光标所在位置的索引,然后循环并配置标签的文本以显示这一点给用户。
来源:
Text
widget .index
method (you will have to find it between the others tho)
Text
widget indicies
【讨论】:
感谢您帮助我,我真的很感谢您再次工作,非常感谢。 @SyedAhsan9682 请参阅What to do when someone answers my question? 和How does accepting an answer work?,这将有助于未来的读者,并允许将其他问题标记为重复。以上是关于如何在tkinter python的状态栏中显示行号和列号的主要内容,如果未能解决你的问题,请参考以下文章
如何在 guizero/tkinter python 3 中将图标添加回任务栏?
python tkinter 如何将tk界面中标题栏中的tk红色字样去掉,或者换成其他的字