Главная


10.1. Скроллинг виджета Entry

Чтобы сделать виджет Entry прокручиваемым, вам потребуется немного дополнительного кода, чтобы адаптировать обратный вызов виджета Scrollbar к методам, доступным для виджета Entry. Вот несколько фрагментов кода, иллюстрирующих эту настройку. Во-первых, создание и связывание виджетов Entry и Scrollbar:

self.entry = tk.Entry(self, width=10)
self.entry.grid(row=0, sticky=tk.E+tk.W)

self.entryScroll = tk.Scrollbar(self, orient=tk.HORIZONTAL,
    command=self.__scrollHandler)
self.entryScroll.grid(row=1, sticky=tk.E+tk.W)
self.entry['xscrollcommand'] = self.entryScroll.set

Вот функция адаптера, упомянутая выше:

def __scrollHandler(self, *L):
    op, howMany = L[0], L[1]

    if op == 'scroll':
        units = L[2]
        self.entry.xview_scroll(howMany, units)
    elif op == 'moveto':
        self.entry.xview_moveto(howMany)

>> Добавление валидации в виджет Entry