Прокручиваемый ListBox в Python-tkinter

Опубликовано: 2 Апреля, 2022

Tkinter - это стандартная библиотека графического интерфейса для Python. Tkinter в Python поставляется с множеством хороших виджетов. Виджеты являются стандартными элементами графического интерфейса, и список и полоса прокрутки также входят в состав этих виджетов.

Примечание. Дополнительные сведения см. В графическом интерфейсе пользователя Python - tkinter.

Список

Виджет ListBox используется для отображения различных типов элементов. Эти элементы должны быть одного типа и одного цвета. Элементы также должны быть текстового типа. Пользователь может выбрать один или несколько элементов из данного списка в соответствии с требованиями.

Синтаксис:

 listbox = Список (корень, bg, fg, bd, высота, ширина, шрифт, ..)

Полоса прокрутки

Виджет полосы прокрутки используется для прокрутки содержимого вниз. Мы также можем создать горизонтальные полосы прокрутки для виджета Entry.

Синтаксис:
Синтаксис для использования виджета «Полоса прокрутки» приведен ниже.

 w = полоса прокрутки (главная, параметры)

Параметры:

  • master : этот параметр используется для представления родительского окна.
  • options : доступно множество опций, и их можно использовать как пары ключ-значение, разделенные запятыми.

Добавление полосы прокрутки в ListBox

To do this we need to attach the scrollbar to Listbox, and to attach we use a function listbox.config() and set its command parameter to the scrollbar’s set method then set the scrollbar’s command parameter to point a method that would be called when the scroll bar position is changed

from tkinter import *
  
  
# Creating the root window
root = Tk()
  
# Creating a Listbox and
# attaching it to root window
listbox = Listbox(root)
  
# Adding Listbox to the left
# side of root window
listbox.pack(side = LEFT, fill = BOTH)
  
# Creating a Scrollbar and 
# attaching it to root window
scrollbar = Scrollbar(root)
  
# Adding Scrollbar to the right
# side of root window
scrollbar.pack(side = RIGHT, fill = BOTH)
  
# Insert elements into the listbox
for values in range(100):
    listbox.insert(END, values)
      
# Attaching Listbox to Scrollbar
# Since we need to have a vertical 
# scroll we use yscrollcommand
listbox.config(yscrollcommand = scrollbar.set)
  
# setting scrollbar command parameter 
# to listbox.yview method its yview because
# we need to have a vertical view
scrollbar.config(command = listbox.yview)
  
root.mainloop()

Выход

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.