Это старая версия Информатика/Архив/2024/10Проф/QtBullsAndCows за 14.03.2024 08:47:24.

Разработка Gui на Qt (PySide)

Установка, ссылки и документация

Python – модуль PySide

Необходимо установить модуль PySide6 при помощи pip install. В системе Linux попробуйте установить пакет из системного репозитория.


Сайт
Документация (Modules API)

C++

Конспекты уроков по работе с Qt
Документация на Qt-6
Установщик Qt для Windows. При установке выберите "Qt 6.6 for desktop development", и вы получите минимально работающий комплект Qt 6.6. Подробнее смотрите в инструкции по установке. Также для скачивания необходимо использовать VPN или настроить прокси в установщике по этой инструкции.


Для установки в Linux нужно пользоваться пакетами из дистрибутива вашей системы (VPN и прокси не нужны), можно использовать версию 5 Qt.

Как сдавать задачи

В задаче 0 надо сдать скриншот в формате PNG. Остальные задачи существуют в двух вариантах. Вариант 1 – на Python PySide6. Вариант 2 – на С++ и Qt.
Вариант сдачи заданий установлен для каждого учащегося. По умолчанию всем проставлен вариант 1, но может быть заменён по просьбе (или если вы сдадите в задании 0 скриншот QtCreator).

Python

Всё решение, вместе со всеми классами, должно быть в одном файле.

С++

Необходимо создать проект в QtCreator. Используйте систему сборки qmake (а не cmake по умолчанию).
Удалите из проекта весь мусор (результат сборки, компиляции).
Создайте zip-архив с проектом. Необходимо архивировать именно каталог с проектом, а не только файлы внутри него. Внутри каталога должны быть файлы *.pro, *.cpp, *.h.
Для создания архива нельзя использовать встроенный архиватор Windows, т.к. он не создает в оглавлении архива запись для каталога с проектом, а создаёт только записи для файлов.

Задание 0

Установите дома PySide6 (для С++ — Qt и Qt Creator), сделайте скриншот запущенной среды разработки и запущенного приложения, использующего библиотеку PySide6 (Qt). Скриншот сохранить в формате PNG и сдайте в тестирующую систему.

Задание A

Видео
Пример на Python
Пример на C++
Добавьте в приложение три кнопки: увеличение значения на 1, уменьшение на 1 и сброса значения. Нажатие на эти кнопки должно приводить к изменению значения в классе MyCounter и всех элементах управления на экране (LineEdit, SpinBox, Slider).

Задание B

Реализация игры Быки и коровы.
Функциональность приложения. После запуска программы компьютер генерирует случайное 4-значное число (все цифры различны, начинается не с нуля). Число выводится на стандартный вывод (функция print в python, cout в С++), в отладочных целях. Главное окно приложения содержит поле ввода (QLineEdit) для ввода задуманного числа, кнопку "Проверить" (QPushButton) и строчку для вывода сообщения (QLabel). При нажатии на кнопку производится проверка введенного числа, и либо выводится сообщение о том, что число некорректно, либо выводится количество быков и коров для введенного числа. Сообщения выводятся путем изменения текста у объекта QLabel.


Все надписи должны быть на русском языке. Файл должен быть сохранён в кодировке UTF-8.


В pythоn поставьте в начало файла строчку

# -*- coding: utf-8 -*-


В C++ используйте среду QtCreator, она будет сохранять файлы в кодировке UTF-8.

Задание C

Функциональность приложения – полноценный игровой режим с началом новой игры и подсчётом числа ходов.


В окне две кнопки "Угадать" и "Сдаться". Также ведется подсчет числа попыток, за которое было угадано число. Не учитывается в качестве попытки: ввод некорректного числа, ввод числа, совпадающего с тем числом, которое было введено последним перед этим.


При нажатии на кнопку "Угадать" идет проверка числа и выводится сообщение о результате проверки. Если в результате проверки было угадано задуманное число, то выводится сообщение об этом, выводится число ходов и на кнопке "Сдаться" текст меняется на "Новая игра", а нажатия на кнопку "Угадать" игнорируются (можно сделать кнопку неактивной). После нажатия на кнопку "Новая игра" задумывается новое число, текст кнопки меняется на "Сдаться" и все начинается заново.


При нажатии на кнопку "Сдаться" выводится задуманное число, после чего пользователю предлагается начать новую игру нажатием на кнопку "Новая игра".


Слова "быки" и "коровы" должны склоняться по правилам русского языка, например, "1 бык, 2 коровы"


После начала новой игры информация о предыдущей игре из окна приложения должна быть убрана.