Python

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

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

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

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

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

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

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

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

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

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

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

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

# Импортировать необходимые модули
import sys
из PyQt5 импортировать QtCore, QtWidgets
из PyQt5.QtWidgets импортируют QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Определить класс для создания формы с одним флажком
класс SingleCheckbox (QMainWindow):
def __init __ (сам):
супер().__в этом__()
# Создаем текст метки для пользователя
lb = QLabel ("Вы любите программировать?", себя)
фунт.setGeometry (20, 20, 200, 20)
фунт.переместить (20, 20)
# Создайте флажок с меткой
cb = QCheckBox ('Да', сам)
cb.stateChanged.подключиться (самостоятельно.Проверить ответ)
cb.переместить (20, 50)
# Установить вертикальную компоновку Qt
vbox = QVBoxLayout ()
vbox.addWidget (фунты)
vbox.addWidget (cb)
# Установить заголовок и размер окна
себя.setWindowTitle ('Форма с одним флажком')
себя.setGeometry (60, 60, 300, 100)
# Отобразить окно по центру экрана
победа = себя.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().центр()
выиграть.moveCenter (поз.)
себя.двигаться (выиграть.верхний левый())
себя.показывать()
# Определить функцию для проверки ввода пользователя
def Check_Answer (сам, состояние):
если состояние == QtCore.Qt.Проверено:
print ("Вау! Ты любишь программировать.")
еще:
print ("О нет!, Ты не любишь программировать.")
# Создать объект приложения и запустить приложение
app = QtWidgets.QApplication (sys.argv)
form = SingleCheckbox ()
приложение.exec ()

Следующее окно с флажком появится после выполнения скрипта.


В следующем выводе пользователь дважды установил флажок и один раз снял флажок.

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

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

# Импортировать необходимые модули
import sys
из PyQt5.Импорт QtWidgets (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Определить класс для создания формы с несколькими флажками
класс MultipleCheckbox (QWidget):
def __init __ (сам):
супер().__в этом__()
# Установить текст метки для пользователя
lb = QLabel ("Выберите ваши любимые блюда:", self)
фунт.setGeometry (20, 20, 100, 20)
фунт.переместить (20, 20)
# Создайте три флажка
cb1 = QCheckBox ('Шоколадный торт', self)
cb1.переместить (20, 70)
cb1.stateChanged.подключить (лямбда: сам.Выбранное_значение (cb1))
cb2 = QCheckBox ('Мороженое', self)
cb2.переместить (20, 90)
cb2.stateChanged.подключить (лямбда: сам.Выбранное_значение (cb2))
cb3 = QCheckBox ('Паста', сам)
cb3.переместить (20, 110)
cb3.stateChanged.подключить (лямбда: сам.Выбранное_значение (cb3))
себя.label = QLabel ('Ничего не выбрано')
себя.метка.переместить (20, 150)
# Установить вертикальную компоновку Qt
vbox = QVBoxLayout ()
vbox.addWidget (фунты)
vbox.addWidget (cb1)
vbox.addWidget (cb2)
vbox.addWidget (cb3)
vbox.addWidget (self.метка)
себя.setLayout (vbox)
себя.setWindowTitle ('Форма с несколькими флажками')
себя.setGeometry (60, 60, 350, 200)
себя.lblText = "
# Отобразить окно по центру экрана
победа = себя.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().центр()
выиграть.moveCenter (поз.)
себя.двигаться (выиграть.верхний левый())
себя.показывать()
# Определить функцию для чтения ввода пользователя
def Selected_Value (self, btn):
если я.lblText !знак равно
str = self.lblText
strArray = str.расколоть(' ,')
себя.lblText = "
для val в strArray:
если кстати.текст() != val:
если я.lblText == ":
себя.lblText = val
еще:
себя.lblText + = ',' + val
если кстати.isChecked () == True:
если я.lblText == ":
себя.lblText = btn.текст()
еще:
себя.lblText + = ',' + btn.текст()
еще:
если кстати.isChecked () == True:
если я.lblText == ":
себя.lblText = btn.текст()
еще:
себя.lblText + = ',' + btn.текст()
себя.метка.setText ('Вы выбрали \ n' + self.lblText)
# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
ex = MultipleCheckbox ()
sys.выход (приложение.exec_ ())

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


В следующих выходных данных два флажка отмечены пользователем, а значение второй метки изменено на «Шоколад, Паста”.

Заключение

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

SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...
Учебник Battle for Wesnoth
Битва за Веснот - одна из самых популярных стратегических игр с открытым исходным кодом, в которую вы можете играть сейчас. Эта игра не только очень д...
0 А.D. Руководство
Из множества существующих стратегических игр 0 A.D. удается выделиться как всеобъемлющее название и очень глубокая тактическая игра, несмотря на то, ч...