Методы QPushButton
В QPushButton класс имеет множество методов для выполнения различных задач, связанных с кнопками. Некоторые из наиболее часто используемых методов этого класса упомянуты ниже:
Название метода | Цель |
---|---|
текст() | Используется для чтения подписи к кнопке. |
setText () | Используется для установки текста в заголовке кнопки. |
setIcon () | Используется для установки значка в заголовке кнопки. |
установить по умолчанию() | Используется для установки кнопки по умолчанию. |
setEnabled () | Используется для включения или отключения кнопок. Ценность Правда используется для включения кнопки, а значение Ложь используется для отключения кнопки. |
setCheckable () | Используется для определения того, нажата кнопка или отпущена. |
проверено() | Используется для чтения состояния кнопки, которое является логическим значением. |
переключать() | Используется для переключения между состояниями. Если текущее значение состояния кнопки Правда, тогда значение изменится на Ложь, и наоборот. |
Использование QPushButton
В следующих разделах приводится несколько простых примеров, объясняющих использование QPushButton.
Пример 1: создание простой кнопки
Следующий скрипт используется для создания единственной кнопки в окне. Скрипт присоединит настраиваемую функцию к событию clicked кнопки, чтобы проверить, была ли нажата кнопка. В окне появится кнопка после выполнения кода. Если пользователь нажимает кнопку, текст 'Кнопка нажата' будет отображаться на этикетке.
# Импортировать необходимые модулиimport sys
из PyQt5.QtWidgets импортируют QApplication, QWidget, QPushButton, QLabel
# Определить класс для создания одной кнопки
класс ButtonExample (QWidget):
def __init __ (сам):
# Вызвать родительский конструктор
супер().__в этом__()
# Создать кнопку
себя.btn = QPushButton («Нажми меня», self)
# Установить текст всплывающей подсказки для кнопки
себя.кстати.setToolTip ('Это простая кнопка')
# Установить геометрию кнопки
себя.кстати.setGeometry (100, 20, 100, 30)
# Вызов функции при нажатии кнопки
себя.кстати.щелкнул.подключиться (самостоятельно.onClicked)
# Определить метку внизу кнопки
себя.msgLabel = QLabel (", себя)
# Установить геометрию метки
себя.msgLabel.setGeometry (90, 60, 290, 60)
# Установить заголовок окна
себя.setWindowTitle ('Использование кнопки PushButton')
# Установить геометрию главного окна
себя.setGeometry (10, 10, 300, 150)
# Установить положение главного окна на экране
себя.двигаться (850, 300)
# Показать окно
себя.показывать()
# Определить функцию для обработки события нажатия кнопки
def onClicked (сам):
# Установить текст для метки
себя.msgLabel.setText ('Нажата кнопка.')
# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
button = ButtonExample ()
приложение.exec ()
Следующее окно появится после выполнения скрипта.
Если пользователь щелкает Нажми на меня кнопка, то в подписи под кнопкой появится следующий текст.
Пример 2: Создание нескольких кнопок
Следующий скрипт создаст несколько кнопок с помощью QPushButton класс. В скрипте созданы две кнопки. Событие нажатия кнопки "да'кнопка прикреплена к методу с именем btn1_onClicked (), и событие нажатия кнопки "Нет'кнопка прикреплена к методу с именем btn2_onClicked (). Заголовок, созданный под кнопками, будет отображать указанное сообщение на основе кнопки, нажатой пользователем. В setGeometry () функция используется для каждой метки и кнопки, чтобы установить положение объектов в окне.
import sysиз PyQt5.QtWidgets импортирует QApplication, QWidget, QPushButton, QLabel
класс MultiButtons (QWidget):
def __init __ (сам):
# Вызвать родительский конструктор
супер().__в этом__()
# Определить метку вверху кнопки
себя.topLabel = QLabel ('
Тебе нравится питон?
', себя)# Установить геометрию метки
себя.topLabel.setGeometry (100, 20, 290, 50)
# Создаем первую кнопку
себя.btn1 = QPushButton ('Да', сам)
# Установить геометрию кнопки
себя.btn1.setGeometry (130, 70, 60, 40)
# Вызов функции при нажатии кнопки
себя.btn1.щелкнул.подключиться (самостоятельно.btn1_onClicked)
# Создаем вторую кнопку
себя.btn2 = QPushButton ('Нет', сам)
# Установить геометрию кнопки
себя.btn2.setGeometry (200, 70, 60, 40)
# Вызов функции при нажатии кнопки
себя.btn2.щелкнул.подключиться (самостоятельно.btn2_onClicked)
# Определить метку внизу кнопки
себя.msgLabel = QLabel (", себя)
# Установить геометрию метки
себя.msgLabel.setGeometry (130, 120, 300, 80)
# Установить заголовок окна
себя.setWindowTitle ('Использование нескольких кнопок')
# Установить геометрию главного окна
себя.setGeometry (10, 10, 400, 200)
# Установить положение главного окна на экране
себя.двигаться (850, 300)
# Показать окно
себя.показывать()
def btn1_onClicked (сам):
# Установить текст для нижней метки
себя.msgLabel.setText ('
Вы нажали Да.
')def btn2_onClicked (сам):
# Установить текст для нижней метки
себя.msgLabel.setText ('
Вы нажали Нет.
')# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
button = Мультикнопки ()
приложение.exec ()
Следующее окно появится после выполнения скрипта.
Если пользователь щелкает да кнопка, сообщение, "Вы нажали Да'будет отображаться как текст метки.
Если пользователь щелкает Нет кнопка, сообщение, 'Вы нажали "Нет" будет отображаться как текст метки.
Заключение
Класс QPushButton позволяет пользователям создавать одну или несколько кнопок в зависимости от требований приложения. В этом руководстве показано использование этого класса для создания одной или нескольких кнопок, а также то, как обрабатывать события нажатия кнопок с помощью пользовательских функций обработчика событий.