Курс Python → Combobox в Tkinter

Для добавления виджета Combobox в свое приложение Python, вам необходимо использовать класс Combobox из библиотеки tkinter. Этот виджет представляет собой поле с выпадающим списком, в котором пользователь может выбирать один из предложенных вариантов.

Пример создания Combobox:

from tkinter import *
from tkinter.ttk import Combobox

root = Tk()
combo = Combobox(root)
combo['values'] = ('Вариант 1', 'Вариант 2', 'Вариант 3')
combo.current(0)
combo.pack()

root.mainloop()

В данном примере мы создаем Combobox и передаем ему значения в виде кортежа (‘Вариант 1’, ‘Вариант 2’, ‘Вариант 3’). Метод current(0) устанавливает выбранный элемент по индексу (в данном случае первый элемент). После этого виджет добавляется на главное окно с помощью метода pack().

Для получения выбранного элемента из Combobox можно воспользоваться методом get(). Например, чтобы получить выбранный пользователем вариант:

selected_option = combo.get()
print(selected_option)

Также можно добавлять новые пункты в Combobox динамически, например, в ответ на нажатие кнопки. Для этого необходимо создать функцию, которая будет добавлять новый элемент в список значений Combobox и обновлять его:

def add_option():
    new_option = 'Новый вариант'
    combo['values'] = tuple(list(combo['values']) + [new_option])
    combo.current(len(combo['values'])-1)

button = Button(root, text='Добавить', command=add_option)
button.pack()

Таким образом, вы можете легко добавить и настроить виджет Combobox в своем приложении Python, позволяя пользователям выбирать из предопределенных вариантов или добавлять их по мере необходимости.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с collections в Python.
  2. Оценка выражений генератора в Python
  3. Работа с контекстными переменными
  4. Возврат нескольких значений из функции
  5. Бесконечная проверка в Python
  6. Измерение времени выполнения с помощью time
  7. Замена символов в Python
  8. Класс UserDict: дополнительная функциональность
  9. Участие в сообществе @selectel
  10. Аргументы *args и **kwargs
  11. Объединение словарей в Python
  12. Метод __ilshift__ для битового сдвига влево
  13. Игра «Угадывание чисел»
  14. Многострочные комментарии в Python
  15. Генераторы списков в Python
  16. Создание и операции с дробями
  17. Работа с контекстными менеджерами
  18. Список переменных с %who
  19. Оптимизация интернирования строк
  20. Фильтрация списка чисел
  21. Оформление кода по PEP 8
  22. Оценка точности модели
  23. Создание списков в Python
  24. Объединение списков в строку
  25. Форматирование строк с % в Python
  26. Искажение имен в Python
  27. Курс по дообучению ChatGPT
  28. Модуль os в Python: работа с файлами
  29. Преобразование строк в числа с плавающей запятой
  30. Модуль antigravity: генерация координат
  31. Подсчет элементов с помощью Counter из collections
  32. Встроенные функции Python
  33. Конкатенация списков в Python
  34. Сортировка в Python
  35. Декораторы в Python
  36. Тестирование функции сложения
  37. Декодирование строк в Python
  38. Получение размера объекта с sys.getsizeof()
  39. Создание графиков в терминале
  40. Проектирование Singleton с метаклассом
  41. Функции map() и reduce() в Python
  42. Нахождение максимального значения и его индекса в списке
  43. Получение ID процесса
  44. Вывод сложных структур данных с помощью pprint
  45. Управление доступом к модулю
  46. Шаблоны Flask: условия и циклы
  47. Упрощенный вывод данных в Python

Marketello читают маркетологи из крутых компаний