Pytonorm

Hur man använder PyQt QPushButton

Hur man använder PyQt QPushButton
Knappar används i GUI-applikationer för att utföra olika operationer baserat på de händelser som genereras av användaren. De QPushButton klass PyQt används i Python för att skapa knappar som krävs av applikationen. Denna klass ärver kärnfunktionerna i QAbstractButton klass. Text eller ikoner kan användas för textning av knappen. Knappar kan aktiveras med mus och tangentbord. Varje knapphändelse, inklusive knappen som du klickar på eller dubbelklickar på, kan associeras med en funktion eller metod för att hantera händelsen. Denna handledning visar hur du skapar olika typer av knappar med hjälp av QPushButton klass av PyQt i Python.

QPushButton-metoder

De QPushButton class har många metoder för att utföra olika knapprelaterade uppgifter. Några av de vanligaste metoderna i denna klass nämns nedan:

Metodens namn Syfte
text() Används för att läsa bildtexten på knappen.
setText () Används för att ställa in text i bildtexten på knappen.
setIcon () Används för att ställa in en ikon i bildtexten på knappen.
Sätta som normalt() Används för att ställa in standardknappen.
setEnabled () Används för att aktivera eller inaktivera knappar. Ett värde på Sann används för att aktivera knappen och ett värde på Falsk används för att inaktivera knappen.
setCheckable () Används för att identifiera om knappen trycks ned eller släpps.
isChecked () Används för att läsa läget för knappen som är ett booleskt värde.
växla () Används för att växla mellan stater. Om det aktuella värdet för knapptillståndet är Sann, då ändras värdet till Falsk, och vice versa.

Användning av QPushButton

Följande avsnitt ger flera enkla exempel för att förklara användningen av QPushButton.

Exempel 1: Skapa en enkel tryckknapp

Följande skript används för att skapa en enda knapp i fönstret. Skriptet bifogar en anpassad funktion med den klickade händelsen på knappen för att kontrollera om knappen har klickats. Fönstret visar en knapp som följer koden. Om användaren klickar på knappen, texten 'Knappen trycks in' visas i etiketten.

# Importera nödvändiga moduler
importera sys
från PyQt5.QtWidgets importerar QApplication, QWidget, QPushButton, QLabel
# Definiera klass för att skapa en enda tryckknapp
klass ButtonExempel (QWidget):
def __init __ (själv):
# Ring föräldrakonstruktör
super().__i det__()
# Skapa en knapp
själv.btn = QPushButton ('Click Me', själv)
# Ställ in verktygstipstext för knappen
själv.btn.setToolTip ('Detta är en enkel knapp')
# Ställ in knappens geometri
själv.btn.setGeometry (100, 20, 100, 30)
# Samtalsfunktion när du klickar på knappen
själv.btn.klickade.ansluta (själv.onClicked)
# Definiera etiketten längst ner på knappen
själv.msgLabel = QLabel (", själv)
# Ställ in etikettens geometri
själv.msgLabel.setGeometry (90, 60, 290, 60)
# Ställ in fönstrets titel
själv.setWindowTitle ('Användning av PushButton')
# Ställ in huvudfönstrets geometri
själv.setGeometry (10, 10, 300, 150)
# Ställ in huvudfönstrets position på skärmen
själv.flytta (850, 300)
# Visa fönstret
själv.show()
# Definiera funktion för att hantera knappens klickhändelse
def onClicked (själv):
# Ställ in text för etiketten
själv.msgLabel.setText ('Knappen trycks in.')
# Skapa appobjekt och kör appen
app = QApplication (sys.argv)
knapp = knappexempel ()
app.exec ()

Följande fönster visas efter att manuset har körts.

Om användaren klickar på Klicka här knappen, kommer följande text att visas i bildtexten under knappen.

Exempel 2: Skapa flera tryckknappar

Följande skript skapar flera tryckknappar med QPushButton klass. Två knappar skapas i skriptet. Den klickade händelsen i 'Ja'-knappen är kopplad till en metod som heter btn1_onClicked (), och den klickade händelsen i 'Nej'-knappen är kopplad till en metod som heter btn2_onClicked (). En bildtext som skapats under knapparna visar det angivna meddelandet baserat på den knapp som användaren klickar på. De setGeometry () funktionen används för varje etikett och knapp för att ställa in objektens position i fönstret.

importera sys
från PyQt5.QtWidgets importerar QApplication, QWidget, QPushButton, QLabel
klass MultiButtons (QWidget):
def __init __ (själv):
# Ring föräldrakonstruktör
super().__i det__()
# Definiera etikett högst upp på knappen
själv.topLabel = QLabel ('

Gillar du python??

', själv)
# Ställ in etikettens geometri
själv.topLabel.setGeometry (100, 20, 290, 50)
# Skapa den första knappen
själv.btn1 = QPushButton ('Ja', själv)
# Ställ in knappens geometri
själv.btn1.setGeometry (130, 70, 60, 40)
# Samtalsfunktion när du klickar på knappen
själv.btn1.klickade.ansluta (själv.btn1_onClicked)
# Skapa den andra knappen
själv.btn2 = QPushButton ('Nej', själv)
# Ställ in knappens geometri
själv.btn2.setGeometry (200, 70, 60, 40)
# Samtalsfunktion när du klickar på knappen
själv.btn2.klickade.ansluta (själv.btn2_onClicked)
# Definiera etiketten längst ner på knappen
själv.msgLabel = QLabel (", själv)
# Ställ in etikettens geometri
själv.msgLabel.setGeometry (130, 120, 300, 80)
# Ställ in fönstrets titel
själv.setWindowTitle ('Användning av flera tryckknappar')
# Ställ in huvudfönstrets geometri
själv.setGeometry (10, 10, 400, 200)
# Ställ in huvudfönstrets position på skärmen
själv.flytta (850, 300)
# Visa fönstret
själv.show()
def btn1_onClicked (själv):
# Ställ in text för den nedre etiketten
själv.msgLabel.setText ('

Du klickade på Ja.

')
def btn2_onClicked (själv):
# Ställ in text för den nedre etiketten
själv.msgLabel.setText ('

Du klickade på Nej.

')
# Skapa appobjekt och kör appen
app = QApplication (sys.argv)
knapp = MultiButtons ()
app.exec ()

Följande fönster visas efter att manuset har körts.

Om användaren klickar på Ja knappen, meddelandet, 'Du klickade på Ja'visas som etiketttext.

Om användaren klickar på Nej knappen, meddelandet, 'Du klickade Nej visas som etiketttext.

Slutsats

QPushButton-klassen tillåter användare att skapa en eller flera knappar baserat på applikationskraven. Denna handledning visade användningen av denna klass för att skapa en eller flera knappar, samt hur man hanterar klickhändelser för knappar med hjälp av anpassade händelsefunktioner.

Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jag har nyligen läst om Microsoft Sculpt Touch trådlös mus och bestämde mig för att köpa den. Efter att ha använt den ett tag bestämde jag mig för att...
Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...