Урок 7. Випадаючі списки та поле зі списком

Поле зі списком Listbox

Елемент управління Listbox, розміщений у формі, являє собою список, з якого користувач може вибрати одне (або декілька) із запропонованих значень.

Властивості елемента керування Listbox:

bg = 'значення' - колір фону елемента керування;

fg = 'значення' - колір тексту елемента керування;

font = 'шрифт розмір' - задає сімейство та розмір шрифту елемента керування;

width = число - ширина елемента керування у символах (по замовчуванню - 20);

height = число - вказує висоту елемента керування в рядках (по замовчуванню - 10);

justify = 'значення' - задає вирівнювання тексту в елементі керування. Можливі значення - 'left', 'right' та 'center';

selectmode=значення - вказує, яка кількість елементів списку може бути обрана (SINGLE - один елемент, MULTIPLE - декілька елементів).

Методи елемента керування Listbox

get(початковий_індекс, кінцевий_індекс) - повертає список текстових елементів з вказаними індексами;

delete(початковий_індекс, кінцевий_індекс) - видаляє елементи з вказаними індексами;

insert(індекс, значення) - додає елемент у вказану позицію. Якщо індекс = 0 - елемент додається на початок списку, якщо END - в кінець списку;

size() - повертає кількість елементів списку.




Приклад 1. Розмістити у вікні список, який містить числа від 1 до 25, та смугу прокручування. Забезпечити можливість вибору кількох елементів у списку.


    from tkinter import *                         # імпортування графічної бібліотеки

root = Tk()                                   # створення головного вікна

list = Listbox(root, selectmode=EXTENDED)     # створення та розміщення списку
list.pack(side=LEFT, fill=Y)

for i in range(25):                          # додавання елементів у список
    list.insert(END, str(i+1))

scroll = Scrollbar(root)                      # створення та розміщення смуги прокручування
scroll.pack(side=RIGHT, fill=Y)

scroll.config(command=list.yview)             # встановлення зв'язку між скроллером та списком
list.config(yscrollcommand=scroll.set)        # зв'язка списку з панеллю прокручування

root.mainloop()                               # задання команди відображення вікна при запуску

Випадаючий список Combobox

Списки типу Combobox називають випадаючими або полями зі списком. Обидві назви вірні. Випадаючими їх називають тому, що для вибору значення зі списку спочатку необхідно список відкрити, натиснувши кнопку зі стрілкою, розташовану з правого боку поля введення. Друга назва - поле зі списком - вони отримали через те, що за своїми функціями список типу Combobox поєднує функції списку Listbox і поля введення Entry. Іншими словами, зі списку Combobox дані можна не тільки вибирати, але і вводити нове значення в поле введення, яке знаходиться у верхній частині списку.

Властивості елемента керування Combobox:

bg = 'значення' - колір фону елемента керування;

fg = 'значення' - колір тексту елемента керування;

font = 'шрифт розмір' - задає сімейство та розмір шрифту елемента керування;

width = число - ширина елемента керування у символах;

height = число - вказує висоту елемента керування в рядках;

justify = 'значення' - задає вирівнювання тексту в елементі керування. Можливі значення - 'left', 'right' та 'center';

values = ['значення1', ... , 'значенняN'] - містить набір значень, які відображатимуться у списку.

Приклад 2.


#імпортуємо потрібні модулі
from tkinter import *
from tkinter import ttk
#створюємо обробник події вибору кольору
def select (event):
    root ['bg'] = combo1.get()
#створюємо вікно з початковими налаштуваннями
root = Tk ()
root.title('оберіть колір')
root.geometry('300x300')
#створюємо та розміщуємо елемент керування Combobox
combo1 = ttk. Combobox (root, font='Consolas 14', width=10, height=5,
                        values= ['aqua',  'lime','gold','coral','fuchsia'])
combo1.place (x=0, y=0)
#поєднуємо елемент керування та обробник події
combo1.bind('Comboboxselected', select)
root.mainloop ()