Python

Kuidas kasutada PyQti märkeruutu?

Kuidas kasutada PyQti märkeruutu?

Märkeruutu kasutatakse graafilise kasutajaliidese abil paljude võimaluste hulgast nulli või enama valimiseks. Kasutades saab luua märkeruuduga vormi QCheckBox klassi Pythoni skriptis või kasutades QCheckBox vidin Qt kujundaja kirjutamata ühtegi stsenaariumi.

Kui märkeruuduga vorm luuakse QCheckBox klassis siis stateChanged.ühendama () Funktsiooni kutsutakse rakendama kasutaja sisendi toimingut. Kui kasutaja märkis mõne märkeruudu valiku, siis väärtus QtCore.Qt.kontrollitud on tõsi. Kasutades saab luua mitu valikut ühe valiku abil, näiteks Raadionupp QbuttonGroup klass.

Kuidas saab märkeruuduga vormi luua Pythoni skripti kirjutades, on näidatud selles õpetuses.

QCheckBoxi vajalikud meetodid

QCheckBox klassil on palju funktsioone, et märkeruuduga teha erinevat tüüpi ülesandeid. Mõned selle klassi kõige sagedamini kasutatavad meetodid on kirjeldatud allpool:

Meetodi nimi Eesmärk
isChecked () See tagastab tõeväärtuse. Kui kasutaja klõpsab märkeruudu märkimiseks, tagastab see tõene, vastasel juhul tagastab vale.
setChecked () Seda kasutatakse märkeruudu oleku muutmiseks. Tõeline väärtus määratakse märkeruudu märkimiseks ja valeväärtus määratakse märkeruut märkimata.
tekst () Seda kasutatakse märkeruudu sildi lugemiseks.
setText () Seda kasutatakse märkeruudu sildi määramiseks.
isTriState () See tagastab tõeväärtuse. Seda kasutatakse kolmese oleku kontrollimiseks, et teada saada, kas märkeruut on lubatud või mitte.
setTriState () Seda kasutatakse märkeruudu kolmanda oleku lubamiseks, mis näitab neutraalset olekut.

QCheckBoxi klassi abil saate luua märkeruuduga vormi:

Märkeruudu kasutused on selles jaotises näidatud erinevat tüüpi näidete abil. Ühe märkeruudu kasutamine, nagu on näidatud esimeses näites, ja mitme märkeruudu kasutamine on näidatud teises näites.

Näide 1: ühe märkeruudu loomine

Ühe märkeruudu loomise viis QCheckBox klass ja kasutaja antud märkeruudu sisendväärtuse lugemine on näidatud selles näites. Vajalikud moodulid imporditakse skripti alguses. Kasutajale teabe edastamiseks kasutatakse ülalolevas märkeruudus silti. Kui kasutaja klõpsab kontrollimiseks märkeruudul, prinditakse skript:Vau! Sulle meeldib programmeerida”, Vastasel juhul prinditakse skript:Oh ei!, Sulle ei meeldi programmeerimine”.

# Impordi vajalikud moodulid
impordi süsteem
PyQt5-st importige QtCore, QtWidgets
alates PyQt5.QtWidgetid impordivad QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Määratlege vormi loomise klass ühe märkeruuduga
klassi SingleCheckbox (QMainWindow):
def __init __ (ise):
Super().__selles__()
# Loo kasutajale siltide tekst
lb = QLabel ("Kas teile meeldib programmeerimine?", ise)
nael.setGeometry (20, 20, 200, 20)
nael.liikuma (20, 20)
# Looge sildiga märkeruut
cb = QCheckBox ('jah', ise)
cb.stateChanged.ühendama (ise.Check_Answer)
cb.liikuma (20, 50)
# Määrake vertikaalne Qt paigutus
vbox = QVBoxLayout ()
vbox.addWidget (nael)
vbox.addWidget (cb)
# Määrake akna pealkiri ja suurus
ise.setWindowTitle ('Vorm ühe märkeruuduga')
ise.setGeometry (60, 60, 300, 100)
# Kuva aken ekraani keskel
võit = ise.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().Keskus()
võita.moveCenter (pos)
ise.liikuma (võitma.üleval vasakul())
ise.näita ()
# Defineeri funktsioon kasutaja sisendi kontrollimiseks
def Check_Answer (ise, riik):
kui olek == QtCore.Qt.Kontrollitud:
print ("Wow! Sulle meeldib programmeerida.")
muu:
print ("Oh ei!, Sulle ei meeldi programmeerimine.")
# Loo rakenduse objekt ja käivitage rakendus
app = QtWidgets.QApplication (sys.argv)
vorm = SingleCheckbox ()
rakendus.exec ()

Pärast skripti käivitamist ilmub järgmine märkeruuduga aken.


Järgmises väljundis on kasutaja märkinud märkeruudu kaks korda ja tühjendanud ühe korra.

Näide 2: Mitme märkeruudu loomine

Meetod mitme märkeruudu loomiseks, kasutades QCheckbox klass ja mitme märkeruudu mitme väärtuse lugemine on näidatud selles näites. Aknasse lisatakse kaks silti ja kolm märkeruutu. Esimene silt lisatakse märkeruutude algusesse, et anda kasutajale teavet, teine ​​silt aga lisatakse märkeruutude lõppu, et kuvada valitud märkeruutude või märkeruutude väärtused.

# Impordi vajalikud moodulid
impordi süsteem
alates PyQt5.QtWidgetide import (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Määratlege vorm mitmete märkeruutudega vormi loomiseks
klass MultipleCheckbox (QWidget):
def __init __ (ise):
Super().__selles__()
# Määrake kasutajale sildi tekst
lb = QLabel ("Valige oma lemmiktoit (ed):", ise)
nael.setGeometry (20, 20, 100, 20)
nael.liikuma (20, 20)
# Looge kolm märkeruutu
cb1 = QCheckBox (šokolaadikook, ise)
cb1.liikuma (20, 70)
cb1.stateChanged.ühendama (lambda: ise.Selected_Value (cb1))
cb2 = QCheckBox (jäätis, ise)
cb2.liikuma (20, 90)
cb2.stateChanged.ühendama (lambda: ise.Selected_Value (cb2))
cb3 = QCheckBox ('pasta', ise)
cb3.liikuma (20, 110)
cb3.stateChanged.ühendama (lambda: ise.Selected_Value (cb3))
ise.silt = QLabel ('Midagi pole valitud')
ise.silt.liikuma (20, 150)
# Määrake vertikaalne Qt paigutus
vbox = QVBoxLayout ()
vbox.addWidget (nael)
vbox.addWidget (cb1)
vbox.addWidget (cb2)
vbox.addWidget (cb3)
vbox.addWidget (ise.silt)
ise.setLayout (vbox)
ise.setWindowTitle ('Vorm mitme märkeruuduga')
ise.setGeometry (60, 60, 350, 200)
ise.lblText = "
# Kuva aken ekraani keskel
võit = ise.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().Keskus()
võita.moveCenter (pos)
ise.liikuma (võitma.üleval vasakul())
ise.näita ()
# Määrake funktsioon kasutaja sisendi lugemiseks
def Selected_Value (ise, btn):
kui ise.lblText != ":
str = ise.lblText
strArray = str.split (',')
ise.lblText = "
val jaoks strArray:
kui btn.tekst () != val:
kui ise.lblText == ":
ise.lblText = val
muu:
ise.lblText + = ',' + val
kui btn.isChecked () == Tõsi:
kui ise.lblText == ":
ise.lblText = btn.tekst ()
muu:
ise.lblText + = ',' + btn.tekst ()
muu:
kui btn.isChecked () == Tõsi:
kui ise.lblText == ":
ise.lblText = btn.tekst ()
muu:
ise.lblText + = ',' + btn.tekst ()
ise.silt.setText ('Olete valinud \ n' + ise.lblText)
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
ex = MultipleCheckbox ()
sys.väljumine (rakendus.exec_ ())

Pärast skripti käivitamist ilmub järgmine aken. Teise sildi vaikeväärtus on “Midagi pole valitud”Ja sildi väärtust muudetakse, kui kasutaja on märkinud või märkinud märkeruudud.


Järgmises väljundis kontrollib kasutaja kahte märkeruutu ja teise sildi väärtuseks muudetakseŠokolaad, pasta”.

Järeldus

Ühe või mitme märkeruudu määratlemise ja valitud märkeruutude väärtuste lugemise viisi on selles õpetuses selgitatud kahe lihtsa näite abil. Märkeruutude rühmi saab määratleda konkreetse märkeruudu valimiseks rühmast, mida siin ei kuvata.

Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...
Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...