Piton

Kako koristiti potvrdni okvir PyQt?

Kako koristiti potvrdni okvir PyQt?

Potvrdni okvir koristi se za odabir nule ili više opcija iz mnogih opcija pomoću grafičkog korisničkog sučelja. Obrazac s potvrdnim okvirom može se stvoriti pomoću QCheckBox klase u Python skripti ili pomoću QCheckBox dodatak za Qt dizajner bez pisanja bilo kakve skripte.

Kada se obrazac s potvrdnim okvirom kreira pomoću QCheckBox razred, dakle stanjePromijenjeno.Spojiti() funkcija se poziva za primjenu radnje učinjene unosom korisnika. Ako je korisnik označio bilo koju opciju potvrdnog okvira, tada vrijednost QtCore.Qt.provjereno bit će Istina. Pomoću njih možete stvoriti više potvrdnih okvira s jednim izborom, poput Radio gumba QbuttonGroup razred.

Kako se obrazac s potvrdnim okvirom može stvoriti pisanjem Python skripte prikazano je u ovom vodiču.

Potrebne metode QCheckBox-a

QCheckBox class ima mnogo funkcija za obavljanje različitih vrsta zadataka pomoću potvrdnog okvira. Neke najčešće korištene metode ove klase opisane su u nastavku:

Naziv metode Svrha
isChecked () Vraća logičku vrijednost. Kada korisnik klikne da potvrdi potvrdni okvir, vraća se True, u suprotnom vraća False.
setChecked () Koristi se za promjenu stanja potvrdnog okvira. Prava vrijednost postavljena je kako bi potvrdni okvir bio označen, a False vrijednost postavljen je tako da potvrdni okvir ne bude potvrđen.
tekst() Koristi se za čitanje oznake potvrdnog okvira.
setText () Koristi se za postavljanje oznake potvrdnog okvira.
isTriState () Vraća logičku vrijednost. Koristi se za provjeru tri stanja kako bi se znalo je li potvrdni okvir omogućen ili ne.
setTriState () Koristi se za omogućavanje trećeg stanja potvrdnog okvira koji označava neutralno stanje.

Stvorite obrazac s potvrdnim okvirom pomoću klase QCheckBox:

Upotreba potvrdnog okvira prikazana je u ovom odjeljku na različitim vrstama primjera. Upotreba jednog potvrdnog okvira, kao što je prikazano u prvom primjeru, i upotreba više potvrdnih okvira prikazani su u drugom primjeru.

Primjer 1: Stvaranje jednog potvrdnog okvira

Način izrade jednog potvrdnog okvira pomoću QCheckBox klasa i čitanje ulazne vrijednosti potvrdnog okvira koju je pružio korisnik prikazani su u ovom primjeru. Potrebni moduli uvezeni su na početku skripte. Oznaka se koristi u gornjem potvrdnom okviru za pružanje informacija za korisnika. Ako korisnik klikne na potvrdni okvir za potvrdu, tada će se skripta ispisati, "Vau! Volite programirati", Inače će se skripta ispisati,"o ne!, Ne volite programiranje".

# Uvezite potrebne module
import sys
iz PyQt5 uvezite QtCore, QtWidgets
iz PyQt5.QtWidgets uvoze QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Definirajte klasu za stvaranje obrasca s jednim potvrdnim okvirom
klasa SingleCheckbox (QMainWindow):
def __init __ (samo):
super().__u tome__()
# Stvorite tekst naljepnice za korisnika
lb = QLabel ("Volite li programiranje?", ja)
lb.setGeometry (20, 20, 200, 20)
lb.pomak (20, 20)
# Stvorite potvrdni okvir s oznakom
cb = QCheckBox ('Da', samostalno)
cb.stanjePromijenjeno.povezati (samo.Check_Answer)
cb.pomak (20, 50)
# Postavite vertikalni raspored Qt
vbox = QVBoxLayout ()
vbox.addWidget (lb)
vbox.addWidget (cb)
# Postavite naslov i veličinu prozora
sebe.setWindowTitle ('Obrazac s jednim potvrdnim okvirom')
sebe.setGeometry (60, 60, 300, 100)
# Prikažite prozor u sredini zaslona
pobijediti = sebe.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().centar()
pobijediti.moveCenter (poz)
sebe.premjestiti (pobijediti.gore lijevo())
sebe.pokazati()
# Definirajte funkciju za provjeru korisnikova unosa
def Check_Answer (self, state):
ako je stanje == QtCore.Qt.Provjereno:
print ("Vau! Volite programirati.")
drugo:
ispis ("Ma ne!, Ne volite programiranje.")
# Stvorite objekt aplikacije i izvršite aplikaciju
app = QtWidgeti.QApplication (sys.argv)
obrazac = SingleCheckbox ()
app.izvršiti ()

Sljedeći prozor s potvrdnim okvirom pojavit će se nakon izvršavanja skripte.


U sljedećem izlazu korisnik je dvaput potvrdio potvrdni okvir i jednom ga odznačio.

Primjer 2: Stvaranje više potvrdnih okvira

Način izrade više potvrdnih okvira pomoću QCheckbox klasa i čitanje višestrukih vrijednosti više potvrdnih okvira prikazani su u ovom primjeru. U prozor se dodaju dvije oznake i tri potvrdna okvira. Prva oznaka dodaje se na početku potvrdnih okvira kako bi se pružile informacije o korisniku, dok se druga oznaka dodaje na kraju potvrdnih okvira kako bi se prikazale vrijednosti odabranih potvrdnih okvira ili potvrdnih okvira.

# Uvezite potrebne module
import sys
iz PyQt5.QtWidgets uvoz (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Definirajte klasu za stvaranje obrasca s više potvrdnih okvira
klasa MultipleCheckbox (QWidget):
def __init __ (samo):
super().__u tome__()
# Postavite tekst naljepnice za korisnika
lb = QLabel ("Odaberite svoju omiljenu hranu (e):", samo)
lb.setGeometry (20, 20, 100, 20)
lb.pomak (20, 20)
# Stvorite tri potvrdna okvira
cb1 = QCheckBox ('Čokoladna torta', samostalno)
cb1.pomak (20, 70)
cb1.stanjePromijenjeno.povezati (lambda: ja.Odabrana_vrijednost (cb1))
cb2 = QCheckBox ('Sladoled', samostalno)
cb2.pomak (20, 90)
cb2.stanjePromijenjeno.povezati (lambda: ja.Odabrana_vrijednost (cb2))
cb3 = QCheckBox ('Tjestenina', samostalno)
cb3.pomak (20, 110)
cb3.stanjePromijenjeno.povezati (lambda: ja.Odabrana_vrijednost (cb3))
sebe.label = QLabel ('Ništa nije odabrano')
sebe.označiti.pomak (20, 150)
# Postavite vertikalni raspored Qt
vbox = QVBoxLayout ()
vbox.addWidget (lb)
vbox.addWidget (cb1)
vbox.addWidget (cb2)
vbox.addWidget (cb3)
vbox.addWidget (self.označiti)
sebe.setLayout (vbox)
sebe.setWindowTitle ('Obrazac s više potvrdnih okvira')
sebe.setGeometry (60, 60, 350, 200)
sebe.lblText = "
# Prikažite prozor u sredini zaslona
pobijediti = sebe.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().centar()
pobijediti.moveCenter (poz)
sebe.premjestiti (pobijediti.gore lijevo())
sebe.pokazati()
# Definirajte funkciju za čitanje korisnikovih podataka
def Selected_Value (self, btn):
ako ja.lblText != ":
str = ja.lblText
strArray = str.podjela(' ,')
sebe.lblText = "
za val u strArray:
ako je btn.tekst() != val:
ako ja.lblText == ":
sebe.lblText = val
drugo:
sebe.lblText + = ',' + val
ako je btn.isChecked () == True:
ako ja.lblText == ":
sebe.lblText = btn.tekst()
drugo:
sebe.lblText + = ',' + btn.tekst()
drugo:
ako je btn.isChecked () == True:
ako ja.lblText == ":
sebe.lblText = btn.tekst()
drugo:
sebe.lblText + = ',' + btn.tekst()
sebe.označiti.setText ('Odabrali ste \ n' + sebe.lblText)
# Stvorite objekt aplikacije i izvršite aplikaciju
app = QApplication (sys.argv)
ex = MultipleCheckbox ()
sys.izlaz (app.exec_ ())

Sljedeći će se prozor pojaviti nakon izvršavanja skripte. Zadana vrijednost druge naljepnice je „Ništa nije odabrano", A vrijednost oznake promijenit će se kada korisnik označi ili poništi bilo koji potvrdni okvir.


U sljedećem izlazu korisnik provjerava dva potvrdna okvira, a vrijednost druge oznake mijenja se u „Čokolada, tjestenina".

Zaključak

Način definiranja jednog ili više potvrdnih okvira i čitanje vrijednosti odabranih potvrdnih okvira objašnjeni su u ovom vodiču pomoću dva jednostavna primjera. Skupine potvrdnih okvira mogu se definirati za odabir određenog potvrdnog okvira iz skupine koja ovdje nije prikazana.

Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...
Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...
Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...