我目前正在使用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的游标行为?任何帮助都会非常有用。
答案 0 :(得分:0)
对于Tkinter.Entry()
窗口小部件,您尝试实现的行为不可行。
修改光标位置的合适方法是使用icursor(index)
方法,将插入光标设置在给定索引处的字符之前。所以在使用时:
inputentry.configure(insertwidth = "10")
尝试运行这样的东西是没用的:
inputentry.icursor(inputentry.index(END)+5) #insertwidth/2 = 5
因为我们无法将光标更远而不是tk.END
或更接近而不是0。