Поиск по сайту:
В гениальности 1% таланта и 99% труда (Эдисон).

Как использовать флажок PyQt в Python?

13.02.2021
Python 3 - Обзор

Флажок используется для выбора нуля или более вариантов из многих вариантов с помощью графического пользовательского интерфейса. Форма с флажком может быть создана с помощью класса QCheckBox в скрипте Python или с помощью виджета QCheckBox в Qt Designer без написания какого-либо скрипта.

Когда форма с флажком создается с использованием класса QCheckBox, тогда вызывается функция stateChanged.connect(), чтобы применить действие, выполненное пользователем. Если пользователь установил какой-либо параметр флажка, тогда значение QtCore.Qt.checked будет True. С помощью класса QbuttonGroup можно создать несколько флажков с одним выбором, например Radio Button.

В этой статье показано, как создать форму с флажком, написав скрипт Python.

 

Необходимые методы QCheckBox

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

Название методаЦель
isChecked()Возвращает логическое значение. Когда пользователь щелкает, чтобы установить флажок, он возвращает True, в противном случае он возвращает False.
setChecked ()Он используется для изменения состояния флажка. Установлено значение True, чтобы флажок был установлен, а значение False – чтобы снять флажок.
text()Он используется для чтения метки флажка.
setText()Он используется для установки метки флажка.
isTriState()Возвращает логическое значение. Он используется для проверки тройного состояния, чтобы узнать, включен ли флажок.
setTriState()Он используется для включения третьего состояния флажка, который указывает нейтральное состояние.

 

Создайте форму с флажком, используя класс QCheckBox:

Использование флажка показано в этом разделе на различных типах примеров. Использование одного флажка, как показано в первом примере, и использование нескольких флажков показано во втором примере.

Читать  NodeJS против Python: сравнение, которое нужно знать

 

Пример 1: Создание единого флажка

В этом примере показан способ создания одного флажка с использованием класса QCheckBox и считывание входного значения флажка, предоставленного пользователем. Необходимые модули импортируются в начале скрипта. Метка используется в поле вышеупомянутого флажка для предоставления информации пользователю. Если пользователь установит флажок, чтобы проверить, скрипт напечатает: «Ух ты! Вы любите программировать», иначе сценарий напечатает: «О нет! Вы не любите программировать».

# Импортировать необходимые модули

import sys

from PyQt5 import QtCore, QtWidgets

from PyQt5.QtWidgets import QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget

# Определите класс для создания формы с одним флажком

class SingleCheckbox(QMainWindow):

def __init__(self):

super().__init__()

# Создайте текст метки для пользователя

lb = QLabel(“Вам нравится программирование?”, self)

lb.setGeometry(20, 20, 200, 20)

lb.move(20, 20)

# Создайте флажок с меткой

cb = QCheckBox(‘Да’, self)

cb.stateChanged.connect(self.Check_Answer)

cb.move(20, 50)

# Установить вертикальную планировку интервала QT

vbox = QVBoxLayout()

vbox.addWidget(lb)

vbox.addWidget(cb)

# Установите заголовок и размер окна

self.setWindowTitle(‘Form with Single Checkbox’)

self.setGeometry(60, 60, 300, 100)

# Отображение окна в центре экрана

win = self.frameGeometry()

pos = QDesktopWidget().availableGeometry().center()

win.moveCenter(pos)

self.move(win.topLeft())

self.show()

# Определите функцию для проверки ввода пользователя

def Check_Answer(self, state):

if state == QtCore.Qt.Checked:

print(“Ух ты! Вы любите программирование.”)

else:

print(“О нет! – Вы не любите программировать.”)

# Создайте объект приложения и выполните его

app = QtWidgets.QApplication(sys.argv)

form = SingleCheckbox()

app.exec()

 

Пример 2: Создание нескольких флажков

В этом примере показан метод создания нескольких флажков с использованием класса QCheckbox и чтения нескольких значений нескольких флажков. В окно добавляются две метки и три флажка. Первая метка добавляется в начале флажков для предоставления информации пользователю, а вторая метка добавляется в конец флажков для отображения значений выбранных флажков или флажков.

# Импортировать необходимые модули

import sys

Читать  Настройка и оптимизация рабочего окружения Python в Ubuntu

from PyQt5.QtWidgets import (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)

# Определите класс для создания формы с несколькими флажками

class MultipleCheckbox(QWidget):

def __init__(self):

super().__init__()

# Установите текст метки для пользователя

lb = QLabel(“Выберите свою любимую еду(ы):”, self)

lb.setGeometry(20, 20, 100, 20)

lb.move(20, 20)

# Создайте три флажка

cb1 = QCheckBox(‘Шоколадный торт’, self)

cb1.move(20, 70)

cb1.stateChanged.connect(lambda: self.Selected_Value(cb1))

cb2 = QCheckBox(‘Мороженое’, self)

cb2.move(20, 90)

cb2.stateChanged.connect(lambda: self.Selected_Value(cb2))

cb3 = QCheckBox(‘Макароны’, self)

cb3.move(20, 110)

cb3.stateChanged.connect(lambda: self.Selected_Value(cb3))

self.label = QLabel(‘Ничего не выбрано’)

self.label.move(20, 150)

# Установить вертикальную планировку интервала QT

vbox = QVBoxLayout()

vbox.addWidget(lb)

vbox.addWidget(cb1)

vbox.addWidget(cb2)

vbox.addWidget(cb3)

vbox.addWidget(self.label)

self.setLayout(vbox)

self.setWindowTitle(‘Форма с несколькими флажками’)

self.setGeometry(60, 60, 350, 200)

self.lblText = ”

# Отображение окна в центре экрана

win = self.frameGeometry()

pos = QDesktopWidget().availableGeometry().center()

win.moveCenter(pos)

self.move(win.topLeft())

self.show()

# Определите функцию для чтения входных данных пользователя

def Selected_Value(self, btn):

if self.lblText != ”:

str = self.lblText

strArray = str.split(‘ ,’)

self.lblText = ”

for val in strArray:

if btn.text() != val:

if self.lblText == ”:

self.lblText = val

else:

self.lblText += ‘ ,’ + val

if btn.isChecked() == True:

if self.lblText == ”:

self.lblText = btn.text()

else:

self.lblText += ‘ ,’ + btn.text()

else:

if btn.isChecked() == True:

if self.lblText == ”:

self.lblText = btn.text()

else:

self.lblText += ‘ ,’ + btn.text()

self.label.setText(‘Вы выбрали \n’ + self.lblText)

# Создайте объект приложения и выполните его

app = QApplication(sys.argv)

ex = MultipleCheckbox()

sys.exit(app.exec_())

 

Значение по умолчанию для второй метки – «Ничего не выбрано», и значение метки будет изменено, когда какой-либо флажок установлен или снят пользователем.

 

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Мы живем в беспрецедентный век цифровых технологий. Более 4 миллиардов человек…

Спасибо!

Теперь редакторы в курсе.