2015-04-24 4 views
0

Я пытаюсь сдвинуть курсор виджета ввода слева, нажав кнопку. С помощью того, что я пробовал, я могу получить текущее положение курсора, но я не могу его переместить.
Я искал в Интернете, но я не нашел ничего полезного. Как переместить позицию курсора в виджет Entry?Изменение позиции курсора в виджетах ввода

#! /usr/bin/python 
from Tkinter import * 

class App(Frame): 
    def __init__(self,parent): 
     Frame.__init__(self,parent) 
     self.parent=parent 
     self.button = Button(self.parent, text="Shift_cursor_left", fg="red") 
     self.button.pack(side=LEFT) 
     self.entry_label=Entry(self.parent,width=10,bd="1",bg="cyan",font=("Helvetica",15),text="python",justify=RIGHT) 
     self.entry_label.pack() 
     self.entry_label.focus() 
     self.entry_label.insert(0,"Python") 

     self.button["command"]=self.shift_cursor() 

    def shift_cursor(self): 
     position = self.entry_label.index(INSERT) 
     print position 
     # self.entry_label.mark_set(INSERT,'1.2') 

root=Tk() 
app=App(root) 
root.mainloop() 

ответ

3

mark_set является метод текстового виджета для ввода виджета использовать icursor метод:

self.entry_label.icursor(0) 

Кроме того, команда кнопка должна быть функцией ссылки, а не вызов функции , поэтому изменить

self.button["command"]=self.shift_cursor() 

в

self.button["command"]=self.shift_cursor 
Смежные вопросы