Python

Как использовать PyQt QComboBox

Как использовать PyQt QComboBox

А Поле со списком используется для выбора одного элемента из списка элементов, подобно переключателю. В QComboBox класс PyQt используется для создания выпадающих списков с помощью скрипта Python. Он отображает список элементов, которые пользователь может выбрать. Элементы ComboBox можно добавлять, изменять и удалять с помощью скрипта. Можно выбрать несколько элементов, например кнопку CheckBox, из списка элементов ComboBox, тогда он называется ListBox. В этом руководстве показано, как использовать QComboBox для создания раскрывающегося списка в Python.

Методы QComboBox

Класс QComboBox содержит множество методов для выполнения различных задач, связанных с ComboBox. Некоторые из наиболее часто используемых методов этого класса описаны ниже:

Название метода Цель
считать() Используется для подсчета общего количества элементов в списке.
добавить элемент() Используется для добавления одного нового элемента в список.
addItems () Используется для добавления нескольких элементов в список.
itemText () Используется для чтения текста определенного элемента на основе индекса.
setItemText () Используется для установки текста определенного элемента на основе индекса.
currentText () Используется для чтения текста выбранного элемента.
currentIndex () Используется для чтения индекса выбранного элемента.
Чисто() Используется для удаления всех элементов из списка.
выделено () Используется, когда элемент в списке выделен.
активировано () Используется, когда элемент выбирается пользователем.
currentIndexChanged () Используется, когда элемент в списке изменился.

Использование ComboBox

В следующих разделах представлены примеры, объясняющие различные варианты использования ComboBox с использованием модуля QComboBox библиотеки PyQt.

Пример 1: создание простого раскрывающегося списка

В этом примере показано, как создать простой раскрывающийся список с помощью класса QComboBox. Здесь создается раскрывающийся список из пяти элементов, который присоединяется к настраиваемой функции, которая будет печатать выбранное значение из списка. Одна метка используется в функции раскрывающегося списка для отображения статического текста, а другая метка используется под раскрывающимся списком для отображения выбранного значения.

# Импортировать необходимые модули
import sys
из PyQt5.Импорт QtWidgets (QApplication, QWidget, QLabel, QVBoxLayout, QComboBox)
# Объявить класс для создания ComboBox
класс ComboExample (QWidget):
def __init __ (сам):
супер().__в этом__()
# Установите метку перед ComboBox
себя.topLabel = QLabel ('Выберите свой любимый язык программирования:', self)
# Определить поле со списком с элементами
combobox = QComboBox (сам)
поле со списком.addItem ('PHP')
поле со списком.addItem ('Python')
поле со списком.addItem ('Perl')
поле со списком.addItem ('Баш')
поле со списком.addItem ('Java')
# Установите метку после ComboBox
себя.bottomLabel = QLabel (", себя)
себя.bottomLabel.AdjustSize ()
# Определить окно макета vartical
v_layout = QVBoxLayout ()
v_layout.addWidget (self.topLabel)
v_layout.addWidget (поле со списком)
v_layout.addWidget (self.bottomLabel)
# Вызов пользовательского метода, если выбран какой-либо элемент
поле со списком.активировано [str].подключиться (самостоятельно.onSelected)
# Устанавливаем конфигурации для окна
себя.setContentsMargins (20, 20, 20, 20)
себя.setLayout (v_layout)
себя.двигаться (800, 300)
себя.setWindowTitle ('Использование ComboBox')
# Пользовательская функция для чтения значения выбранного элемента
def onSelected (self, txtVal):
txtVal = "\ nВы выбрали:" + txtVal
себя.bottomLabel.setText (txtVal)
# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
combobox = ComboExample ()
поле со списком.показывать()
приложение.exec ()

Если пользователь щелкнет раскрывающийся список после выполнения сценария, появится следующий список.

Если пользователь выбирает значение Баш из раскрывающегося списка значение второй метки будет изменено на 'Вы выбрали: Bash.'

Пример 2: Создание ComboBox с помощью списка

В предыдущем примере раскрывающийся список был создан со статическими данными с помощью метода addItem () класса QComboBox. В этом примере показано, как добавить несколько элементов в раскрывающийся список, определив список Python. Сначала мы добавим статический текст к первому элементу раскрывающегося списка с помощью метода addItem (). Затем мы определим список из пяти элементов в скрипте, и мы добавим эти элементы в раскрывающийся список с помощью метода addItems (). К раскрывающемуся списку добавляется настраиваемая функция для отображения сообщения в метке на основе выбора пользователя.

# Импортировать необходимые модули
import sys
из PyQt5.QtWidgets import *
# Объявить класс для создания поля со списком с использованием данных списка
класс ComboExample (QMainWindow):
def __init __ (сам):
супер().__в этом__()
# Установить титр окна
себя.setWindowTitle ("ComboBox со списком данных")
# Устанавливаем геометрию окна
себя.setGeometry (100, 100, 350, 150)
# Создать поле со списком
себя.combobox = QComboBox (сам)
# Установите геометрию для поля со списком
себя.поле со списком.setGeometry (30, 30, 200, 30)
# Определить элементы списка для поля со списком
src_engines = ["Google.com "," Yahoo!.com "," спросить.com "," baidu.com "," яндекс.com "]
# Включить редактируемую опцию выпадающего списка
себя.поле со списком.setEditable (Истина)
# Установите первый элемент для поля со списком
себя.поле со списком.addItem ("Выбрать поисковую систему")
# Добавить несколько элементов в поле со списком, используя список
себя.поле со списком.addItems (src_engines)
# Определите метку внизу поля со списком, чтобы предоставить пользователю сообщение
себя.msgLabel = QLabel (", себя)
# Установите геометрию для метки
себя.msgLabel.setGeometry (30, 60, 290, 60)
# Вызов пользовательской функции при выборе любого элемента
себя.поле со списком.активировано [str].подключиться (самостоятельно.onClicked)
# Переместить положение окна
себя.двигаться (800, 400)
# Показать окно
себя.показывать()
# Определить метод обработки события щелчка Combobox
def onClicked (self, val):
# Проверяем, выбран ли какой-либо элемент пользователем или нет
if val == "Выбрать поисковую систему":
message = "Вы ничего не выбрали."
еще:
message = "Ваша любимая поисковая система" + val
# Отобразить текст сообщения в метке
себя.msgLabel.setText (сообщение)
# Вывести сообщение в консоль
печать (сообщение)
# Создаем объект приложения
app = QApplication (sys.argv)
# Создаем объект класса object
combo = ComboExample ()
# Запустить приложение
приложение.exec ()

Если пользователь щелкнет раскрывающийся список после выполнения сценария, появится следующий список.

Если пользователь выбирает любой элемент, кроме первого элемента в раскрывающемся списке, то выбранное значение будет отображаться в метке путем объединения с другим текстом.

Если пользователь выбирает первый элемент в раскрывающемся списке, то значение 'Вы ничего не выбрали'будет отображаться на этикетке.

Заключение

В этой статье показано, как создавать и использовать раскрывающиеся списки в Python с помощью QComboBox класс, используя простые примеры, которые помогут вам лучше понять использование этого класса.

Добавьте жесты мыши в Windows 10 с помощью этих бесплатных инструментов
В последние годы компьютеры и операционные системы сильно эволюционировали. Было время, когда пользователям приходилось использовать команды для навиг...
Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...
WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...