如何查看Tkinter条目小部件的结尾

时间:2019-06-20 08:59:33

标签: python tkinter

我正在使用TKinter Entry小部件来可视化路径。现在,路径字符串实际上比小部件长,插入后,我只能看到路径的开头。由于我这样做是为了选择一个特定的文件,因此最好在文件名所在的路径字符串的末尾显示出来。有没有办法查看Entry小部件的结尾? 谢谢

2 个答案:

答案 0 :(得分:1)

有两种方法:

  • 首先是将光标设置在字符串的末尾以显示文件名。

  • 另一种方法是设置一个标签,该标签将获取条目的值并显示其全部内容。

此示例将两者结合在一起:

import tkinter as tk


def update_label(e):
    var.set(entry.get())


if __name__ == '__main__':

    root = tk.Tk()
    entry = tk.Entry(root)
    entry.pack()

    var = tk.StringVar()

    label = tk.Label(root, textvar=var)
    label.pack()

    var.set('this is a very long link with the filename at the end filename.txt')

    entry.insert(0, var.get())

    entry.bind('<Enter>', update_label)
    entry.xview(len(var.get()) - 10)

    root.mainloop()

答案 1 :(得分:0)

非常感谢Reblochon Masque的回答。您添加的代码实际上使我找到了一个更简单的解决方案,即使用属性xview_moveto。确实,如果我使用以下代码:

myEntry.xview_moveto(1) 

根据需要,可视化条目的结尾以及文件名。