Jak używać pola wyboru PYQT?

Jak używać pola wyboru PYQT?

Pole wyboru służy do wyboru zero lub więcej opcji z wielu opcji za pomocą graficznego interfejsu użytkownika. Formularz z polem wyboru można utworzyć za pomocą za pomocą QCheckbox klasa w skrypcie Python lub za pomocą QCheckbox Widżet Projektant QT bez pisania żadnego skryptu.

Gdy formularz z pola wyboru jest tworzone za pomocą za pomocą QCheckbox Zatem klasa Statechanged.łączyć() Funkcja jest wywoływana w celu zastosowania akcji wykonanej przez dane wejściowe użytkownika. Jeśli użytkownik zaznaczył dowolną opcję wyboru, to wartość QTCORE.Qt.sprawdzony będzie prawdą. Wiele pola wyboru z jednym wyborem, takim jak przycisk opcji można utworzyć za pomocą za pomocą Qbuttongroup klasa.

Jak można utworzyć formularz z polem wyboru, pisząc skrypt Python, jest pokazany w tym samouczku.

Niezbędne metody QCheckbox

QCheckbox klasa ma wiele funkcji do wykonywania różnych rodzajów zadań z polem wyboru. Niektóre najczęściej stosowane metody tej klasy opisano poniżej:

Nazwa metody Zamiar
sprawdzone() Zwraca wartość logiczną. Gdy użytkownik kliknie, aby zaznaczyć pole wyboru, zwraca true, w przeciwnym razie zwraca false.
setChecked () Służy do zmiany stanu pola wyboru. Prawdziwa wartość jest ustawiona tak, aby sprawdziono pole wyboru, a wartość fałszywej jest ustawiona, aby pola wyboru nie są sprawdzone.
tekst() Służy do odczytania etykiety pola wyboru.
Ustaw tekst() Służy do ustawienia etykiety pola wyboru.
isstristate () Zwraca wartość logiczną. Służy do sprawdzenia trójstannego stanu, aby wiedzieć, czy pole wyboru jest włączone, czy nie.
settristate () Służy do włączenia trzeciego stanu pola wyboru wskazującego stan neutralny.

Utwórz formularz z pole wyboru za pomocą klasy QCheckbox:

Zastosowania pola wyboru są pokazane w tej sekcji przy użyciu różnych rodzajów przykładów. Użycie pojedynczego pola wyboru, jak pokazano w pierwszym przykładzie, a użycie wielu pola wyboru pokazano w drugim przykładzie.

Przykład 1: Tworzenie pojedynczego pola wyboru

Sposób utworzenia pojedynczego pola wyboru za pomocą QCheckbox klasa i odczyt wartość wejściowa pola wyboru podane przez użytkownika są pokazane w tym przykładzie. Niezbędne moduły są importowane na początku skryptu. Etykieta jest używana w powyższym polu wyboru do dostarczenia informacji dla użytkownika. Jeśli użytkownik kliknie pole wyboru, aby sprawdzić, skrypt wydrukuje, ”Wow! Lubisz programowanie”, W przeciwnym razie skrypt wydrukuje,„O nie!, Nie lubisz programowania".

# Zaimportuj niezbędne moduły
Import Sys
z PYQT5 Import QTcore, Qtwidgets
z pyqt5.Qtwidgets import QMainWindow, QCheckbox, QLabel, Qvboxlayout, QDesktopWidget
# Zdefiniuj klasę do tworzenia formularza za pomocą pojedynczego pola wyboru
klasa singlecheckbox (QMainWindow):
def __init __ (ja):
Super().__w tym__()
# Utwórz tekst etykiety dla użytkownika
lb = qlabel („Czy lubisz programowanie?", samego siebie)
funt.Setgeometria (20, 20, 200, 20)
funt.Ruch (20, 20)
# Utwórz pole wyboru z etykietą
cb = qCheckbox („tak”, self)
CB.Statechanged.Połącz (ja.Sprawdź odpowiedź)
CB.Ruch (20, 50)
# Ustaw pionowy układ QT
vbox = qvboxlayout ()
vbox.AddWidget (LB)
vbox.AddWidget (CB)
# Ustaw tytuł i rozmiar okna
samego siebie.setWindowTitle („formularz z pojedynczym pole wyboru”)
samego siebie.Setgeometria (60, 60, 300, 100)
# Wyświetl okno na środku ekranu
Win = self.framegeometria ()
POS = qDesktopWidget ().Dostępna geometria ().Centrum()
wygrać.MoveCenter (POS)
samego siebie.Przenieś (wygrana.lewy górny())
samego siebie.pokazywać()
# Zdefiniuj funkcję, aby sprawdzić dane wejściowe użytkownika
def check_answer (self, stan):
Jeśli stan == qtcore.Qt.Sprawdzony:
Drukuj ("wow! Lubisz programowanie.")
w przeciwnym razie:
Drukuj ("Och nie!, Nie lubisz programowania.")
# Utwórz obiekt aplikacji i wykonaj aplikację
App = qtwidgets.Qapplication (sys.Argv)
Form = singlecheckbox ()
App.exec ()

Poniższe okno z pole wyboru pojawi się po wykonaniu skryptu.


Przy następnym wyjściu użytkownik dwukrotnie zameldował pole wyboru i raz odznaczył pole wyboru.

Przykład 2: Tworzenie wielu pola wyboru

Metoda tworzenia wielu pola wyboru za pomocą QCheckbox klasa i odczyt wiele wartości wielokrotnych pola wyboru są pokazane w tym przykładzie. Do okna dodawane są dwie etykiety i trzy pola wyboru. Pierwsza etykieta jest dodawana na początku pola wyboru, aby podać informacje dla użytkownika, podczas gdy druga etykieta jest dodawana na końcu pola wyboru, aby wyświetlić wartości wybranego pola wyboru lub pola wyboru.

# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.Qtwidgets import (qWidget, qCheckbox, qapplication, qvboxlayout, qlabel, qdesktopWidget)
# Zdefiniuj klasę do tworzenia formularza z wieloma pola wyboru
klasa multiplecheckbox (qWidget):
def __init __ (ja):
Super().__w tym__()
# Ustaw tekst etykiety dla użytkownika
LB = QLabel („Wybierz swoje ulubione jedzenie:”, ja)
funt.Setgeometria (20, 20, 100, 20)
funt.Ruch (20, 20)
# Utwórz trzy pola wyboru
CB1 = QCheckbox („Ciasto czekoladowe”, jaźń)
CB1.Ruch (20, 70)
CB1.Statechanged.Connect (Lambda: Self.Selected_value (CB1))
cb2 = qCheckbox („lody”, self)
CB2.Ruch (20, 90)
CB2.Statechanged.Connect (Lambda: Self.Selekcjonowany_value (CB2))
CB3 = QCheckbox („makaron”, self)
CB3.Ruch (20, 110)
CB3.Statechanged.Connect (Lambda: Self.Selected_value (CB3))
samego siebie.etykieta = qlabel („nic wybranego”)
samego siebie.etykieta.Ruch (20, 150)
# Ustaw pionowy układ QT
vbox = qvboxlayout ()
vbox.AddWidget (LB)
vbox.AddWidget (CB1)
vbox.AddWidget (CB2)
vbox.AddWidget (CB3)
vbox.AddWidget (ja.etykieta)
samego siebie.setLayout (vbox)
samego siebie.setWindowTitle („Formularz z wieloma pola wyboru”)
samego siebie.Setgeometria (60, 60, 350, 200)
samego siebie.lblText = "
# Wyświetl okno na środku ekranu
Win = self.framegeometria ()
POS = qDesktopWidget ().Dostępna geometria ().Centrum()
wygrać.MoveCenter (POS)
samego siebie.Przenieś (wygrana.lewy górny())
samego siebie.pokazywać()
# Zdefiniuj funkcję, aby odczytać dane wejściowe użytkownika
def selected_value (self, btn):
Jeśli ja.lblText != ":
str = self.lblText
Strarray = str.podział(' ,')
samego siebie.lblText = "
For Val in Strarray:
Jeśli btn.tekst() != Val:
Jeśli ja.lblText == ":
samego siebie.lblText = val
w przeciwnym razie:
samego siebie.lblText + = ',' + val
Jeśli btn.Ischecked () == True:
Jeśli ja.lblText == ":
samego siebie.lblText = Btn.tekst()
w przeciwnym razie:
samego siebie.lblText + = ',' + Btn.tekst()
w przeciwnym razie:
Jeśli btn.Ischecked () == True:
Jeśli ja.lblText == ":
samego siebie.lblText = Btn.tekst()
w przeciwnym razie:
samego siebie.lblText + = ',' + Btn.tekst()
samego siebie.etykieta.setText („wybrałeś \ n ' + self.lblText)
# Utwórz obiekt aplikacji i wykonaj aplikację
app = qapplication (sys.Argv)
ex = multiplecheckbox ()
Sys.wyjście (aplikacja.exec_ ())

Poniższe okno pojawi się po wykonaniu skryptu. Domyślna wartość drugiej etykiety to „Nic nie jest wybierane”, A wartość etykiety zostanie zmieniona, gdy dowolne pole wyboru zostanie sprawdzone lub niezaznaczone przez użytkownika.


W następnym wyjściu dwa pola wyboru są sprawdzane przez użytkownika, a wartość drugiej etykiety jest zmieniana na „Czekolada, makaron".

Wniosek

Sposób zdefiniowania jednego lub wielokrotnego pola wyboru i odczytania wartości wybranego pola wyboru (ES) zostały wyjaśnione w tym samouczku przy użyciu dwóch prostych przykładów. Grupy pola wyboru można zdefiniować, aby wybrać konkretne pole wyboru z grupy, która nie jest pokazana tutaj.