PyQt: Калькулятор в Qt Designer (Урок 3)

Программа Qt Designer позволяет создавать графический интерфейс пользователя (GUI) для приложений Python. Этот урок посвящен созданию простого калькулятора.

Создание нового проекта

Создайте новый проект в Qt Designer. Выберите шаблон «Main Window». Размер окна можно не задавать. Нажмите «Create».

Обзор Qt Designer

Qt Designer содержит несколько основных компонентов:

  • Основное окно: Окно приложения в режиме разработки.
  • Предпросмотр: Позволяет просматривать внешний вид приложения (меню «Form» -> «Preview»).
  • Панель виджетов: (слева) Содержит объекты (виджеты), которые можно перетаскивать на основное окно: кнопки (QPushButton), радио-кнопки (QRadioButton), флажки (QCheckBox), текстовые надписи (QLabel) и другие.
  • Property Editor: (обычно справа) Позволяет изменять свойства выбранных объектов (текст, шрифт, цвет, размер, расположение). Двойной клик по объекту также открывает редактирование некоторых свойств.
  • Object Inspector: Отображает иерархию объектов. Позволяет удалять, перемещать и управлять объектами (MainWindow, центральный виджет, menubar, statusbar).

Создание дизайна калькулятора

Удалите существующие объекты. Установите windowTitle на «Калькулятор», ширину на 300 пикселей, высоту на 400 пикселей. Удалите menubar.

Добавление элементов

Добавьте:

  • Текстовую надпись (QLabel) для отображения результата (ширина 300 пикселей, высота 50 пикселей, отступ 10 пикселей, шрифт 15, жирный, белый текст, темный фон — используйте Change Stylesheet).
  • Кнопки с цифрами (0-9), арифметическими операциями (+, -, *, /) и кнопку «=» (высота 80 пикселей, ширина 150 пикселей). Расположите кнопки, используя Property Editor. Измените цвет фона и задайте осмысленные имена (objectName).

Сохранение проекта и генерация кода Python

Сохраните проект в файл с расширением .ui. Для генерации кода Python используйте pyuic5.

Установка необходимых пакетов

Установите библиотеки PyQt5 и pyqt5-tools:

  • Windows: pip install PyQt5 pyqt5-tools
  • macOS (Homebrew): brew install pyqt

Проверьте установку: python -m PyQt5.uic.pyuic (возможны предупреждения, но не ошибки).

Генерация кода

Используйте команду:

pyuic5 -o main.py calculator.ui

где calculator.ui — имя файла проекта, main.py — имя генерируемого файла.

Добавление функциональности (Python)

В main.py добавьте функциональность калькулятора. В методе setupUI вызовите initFunctions, который будет обрабатывать нажатия кнопок. Используйте лямбда-выражения для обработки событий (clicked). При нажатии кнопки вызывайте writeNumber, добавляющий текст кнопки к значению в текстовой надписи (label_result). Добавьте обработчик для кнопки «=», использующий eval() для вычисления результата (с проверкой на начальный ноль и управление переменной is_equal для последовательных операций).

В этом уроке мы создали простой калькулятор, используя Qt Designer и Python. Этот пример демонстрирует основные принципы работы с Qt Designer и PyQt для разработки GUI-приложений.

Что будем искать? Например,программа