Python

Как использовать PyQt QPushButton

Как использовать PyQt QPushButton
Кнопки используются в приложениях с графическим интерфейсом пользователя для выполнения различных операций на основе событий, генерируемых пользователем. В QPushButton класс PyQt используется в Python для создания кнопок, необходимых приложению. Этот класс наследует основные функции QAbstractButton класс. Для подписи к кнопке можно использовать текст или значки. Кнопки можно активировать с помощью мыши и клавиатуры. Любое событие кнопки, включая нажатие кнопки или двойное нажатие кнопки, может быть связано с функцией или методом для обработки события. В этом руководстве показано, как создавать различные типы кнопок с помощью QPushButton класс PyQt в Python.

Методы 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 позволяет пользователям создавать одну или несколько кнопок в зависимости от требований приложения. В этом руководстве показано использование этого класса для создания одной или нескольких кнопок, а также то, как обрабатывать события нажатия кнопок с помощью пользовательских функций обработчика событий.

Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...