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 modulerimportera 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 sysfrå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.