Перейти до основного контенту

Як перевірити натискання кнопки в PyQt5 на Python

4 хв читання
592 переглядів

PyQt5-це потужний набір інструментів для розробки графічного інтерфейсу на мові програмування Python. Його використання дозволяє створювати привабливі та функціональні програми, засновані на веб-технологіях. Однією з важливих частин розробки інтерфейсу є робота з кнопками - елементами, які дозволяють користувачеві взаємодіяти з додатком.

У цій статті ми розглянемо, як перевірити натискання кнопки в PyQt5 на Python. Ми покажемо, як створити кнопку, прив'язати до неї функцію-обробник подій і обробити натискання кнопки в цій функції. Також ми розглянемо деякі поширені прийоми роботи з кнопками, такі як зміна тексту кнопки і відключення її.

Якщо ви хочете знати, як створити функціональні та чуйні інтерфейси користувацьких програм за допомогою PyQt5, то ця стаття для вас. Продовжуйте читати і дізнайтеся, як перевірити натискання кнопки в PyQt5 на Python!

Перевірка натискання кнопки в PyQt5 на Python

У бібліотеці PyQt5 для створення графічного інтерфейсу на мові Python можна використовувати різні елементи управління, включаючи кнопки. Найчастіше потрібно перевірити, чи була натиснута кнопка, щоб виконати певні дії в залежності від цього. У цьому уроці ми розглянемо, як це зробити.

Для початку потрібно створити екземпляр класу QPushButton, який представляє кнопку в PyQt5. Потім можна встановити текст кнопки за допомогою методу setText ().

import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QPushButtonclass MyWindow(QMainWindow):def __init__(self):super().__init__()self.button = QPushButton("Нажми меня", self)self.button.setGeometry(50, 50, 150, 50)self.button.clicked.connect(self.on_button_clicked)def on_button_clicked(self):print("Кнопка нажата")if __name__ == "__main__":app = QApplication(sys.argv)window = MyWindow()window.show()sys.exit(app.exec_())

Щоб перевірити, чи була натиснута кнопка, необхідно підключити сигнал clicked кнопки до відповідного слоту. В даному випадку ми пов'язуємо сигнал clicked кнопки з методом on_button_clicked().

При запуску програми відкривається вікно, в якому знаходиться кнопка з текстом «натисни мене». При натисканні на кнопку, в консолі з'являється повідомлення»Кнопка натиснута".

Тепер ви знаєте, як перевірити натискання кнопки в PyQt5 на Python.

Як створити кнопку в PyQt5

У бібліотеці PyQt5 створення кнопки дуже просто. Нижче наведено приклад коду, який створює кнопку та додає її до головного вікна програми:

  1. Імпортуйте необхідні модулі:
    • from PyQt5.QtWidgets import QApplication, QLabel, QPushButton, QVBoxLayout, QWidget
  2. Створіть екземпляр класу QApplication :
    • app = QApplication([])
  3. Створіть головне вікно програми:
    • window = QWidget()
  4. Створіть екземпляр класу QPushButton :
    • button = QPushButton ('натисни мене!')
  5. Створіть екземпляр класу QVBoxLayout і додайте кнопку на нього:
    • layout = QVBoxLayout()
    • layout.addWidget(button)
  6. Встановіть створений layout для головного вікна:
    • window.setLayout(layout)
  7. Покажіть головне вікно:
    • window.show()
  8. Запустіть основний цикл програми:
    • app.exec_()

Тепер у вас є проста кнопка, яку можна клікнути і обробити натискання.

Перевірка натискання кнопки в PyQt5 на Python

Процес перевірки натискання кнопки в PyQt5 та Python зазвичай включає кілька кроків. По-перше, необхідно створити екземпляр класу для кнопки і додати її на головне вікно програми. Це можна зробити за допомогою методу QPushButton та методу addWidget з класу QVBoxLayout .

Наприклад, наступний код демонструє, як перевірити натискання кнопки та змінити текст мітки програми:

from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QLabelimport sysdef button_click():label.setText("Кнопка нажата")app = QApplication(sys.argv)window = QMainWindow()layout = QVBoxLayout()button = QPushButton("Нажми меня!")layout.addWidget(button)label = QLabel("Привет, мир!")layout.addWidget(label)button.clicked.connect(button_click)window.setLayout(layout)window.show()sys.exit(app.exec_())

У цьому прикладі при натисканні кнопки текст мітки зміниться на"натиснута Кнопка". Таким чином, можна перевірити натискання кнопки і виконувати потрібні дії у відповідь.