如何在更改宽度时正确显示条目中的光标?

时间:2017-11-11 21:22:52

标签: python tkinter

我目前正在使用python的Tkinter库处理sinclair基本解释器的GUI。我使用inputentry.configure(insertwidth = 7)来调整闪烁光标的宽度。

目前它的工作效果差不多,但我希望我的光标稍微宽一点,就像在linux终端中一样。问题是当我将insertwidth设置为10或15时,它开始重叠附近的字符。下面的代码绘制了一个条目,因此您可以直接看到错误:

from Tkinter import *

root = Tk()

inputentry = Entry(root)
inputentry.configure(insertwidth = 15)
inputentry.pack()

root.mainloop()

有没有人遇到过这样的问题?如何在Tkinter库的图形(非控制台)界面中实现类似linux的游标行为?任何帮助都会非常有用。

1 个答案:

答案 0 :(得分:0)

对于Tkinter.Entry()窗口小部件,您尝试实现的行为可行。

修改光标位置的合适方法是使用icursor(index)方法,将插入光标设置在给定索引处的字符之前。所以在使用时:

inputentry.configure(insertwidth = "10")

尝试运行这样的东西是没用的:

inputentry.icursor(inputentry.index(END)+5) #insertwidth/2 = 5

因为我们无法将光标更远而不是tk.END更接近而不是0。