Предмет: Программирование. Добавлен: 22.03.2021. Год: 2019. Страниц: 11 в PDF. Оригинальность по antiplagiat.ru: < 30% |
МИНОБРНАУКИ РОССИИ РГУ НЕФТИ И ГАЗА (НИУ) ИМЕНИ И.М. ГУБКИНА Факультет автоматики и вычислительной техники Кафедра прикладной математики и компьютерного моделирования КУРСОВАЯ РАБОТА по дисциплине Компьютерная графика на тему Библиотека PyQt для реализации графического изображения ВЫПОЛНИЛ: Студент группы АМ-17-06 Москва, 2019 Оглавление Введение ... 3 Описание используемых элементов управления и основных функций ... 5 Программная реализация ... 9 Заключение ... 10 Список используемой литературы ... 11 3 ВВЕДЕНИЕ Qt – кросс-платформенный инструментарий разработчика прикладного программного обеспечения, широко используемый для создания графических интерфейсов. Он написан на C++ и предоставляет мощные расширения этого языка. Также доступны интерфейсы для других языков программирования, таких как Python (PyQt), Ruby (Korundum/QtRuby) и Perl (PerlQt). В данной работе я рассмотрела PyQt. Qt позволяет создавать собственные плагины и размещать их непосредственно в панели визуального редактора. Также существует возможность расширения привычной функциональности виджетов, связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна. Qt комплектуется визуальной средой разработки графического интерфейса «Qt Designer», позволяющей создавать диалоги и формы. Библиотека разделена на несколько модулей, вот основные из них: • QtCore — классы ядра библиотеки, используемые другими модулями; • QtGui — компоненты графического интерфейса; • QtNetwork — набор классов для сетевого программирования. Поддержка различных высокоуровневых протоколов может меняться от версии к версии. В версии 4.2.x присутствуют классы для работы с протоколами FTP и HTTP. Для работы с протоколами TCP/IP предназначены такие классы, как QTcpServer, QTcpSocket для TCP и QUdpSocket для UDP; • QtOpenGL — набор классов для работы с OpenGL. В Qt используется CamelCasing: имена классов выглядят как MyClassName, а имена методов – как myMethodName. При этом имена всех классов Qt начинаются с Q, например QObject, QList или QFont. При создании графических пользовательских интерфейсов взаимодействие объектов часто осуществляется через обратные вызовы, т.е. передачу кода для последующего выполнения (в виде указателей на функции, функторов, и т.д.). Также популярна концепция событий и обработчиков, в которой обработчик действует как перехватчик события определенного объекта. 4 В Qt вводится концепция сигналов и слотов. Сигнал отправляется при вызове соответствующего ему метода. Программисту при этом нужно только указать прототип метода в разделе signals. Слот является методом, исполняемым при получении сигнала. Модель сигналов и слотов отличается от модели событий и обработчиков тем, что слот может подключаться к любому числу сигналов, а сигнал может подключаться к любому числу слотов. При отправке сигнала будут вызваны все подключенные к нему слоты. Таким образом, для эффективной работы с классами на стадии выполнения Qt использует специальную объектную модель, в которой при помощи наследования от QObject реализованы: • иерархии объектов; • система сигналов и слотов; • система свойств объектов; • динамическая работа с классами. Цель работы – проектирование и разработка графического приложения с использованием библиотеки PyQt. В приложении графически реализуется игра «Спички»: вводится начальное количество спичек, и компьютер и пользователь по очереди берут некоторое количество спичек, кто взял последнюю спичку – тот проиграл. Задачи, решение которых необходимо для достижения поставленной цели: • Ознакомиться с библиотекой PyQt; • Использовать ООП для разработки GUI; • Собрать всю необходимую информацию о структуре GUI; • Разработать программу. 5 ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ И ОСНОВНЫХ ФУНКЦИЙ В своей работе я использую следующие элементы управления: • QInputDialog – это виджет, который позволяет получить единственное значение от пользователя; • QMessageBox – это модуль, отвечающий за работу с всплывающими окнами. Основные функции: 1. Функция game(self). Здесь появляются два диалоговых окна, в которых нужно ввести количества всех спичек и не больше которого можно взять за ход: def game(self): print("d;kd") self.sp, ok = QInputDialog.getInt( elf,Игра, Введите количество спичек(не больше 25):) if ok: print(self.sp) while self.sp › 25: self.sp, ok = QInputDialog.getInt( elf,Игра, Введите количество спичек(не больше 25):) self.hod, ok = QInputDialog.getInt( elf,Игра, Введите количество спичек, не больше которого можно взять за ход(меньше 25):) while self.hod › 24: self.hod, ok = QInputDialog.getInt( elf,Игра, Введите количество спичек, не больше которого можно взять за ход(меньше 25):) self.n=self.sp; 2. Функция paintEvent(self, event). В этой части программы отрисовываются сами спички. Сначала появляются все спички с помощью виджета QPixmap. QPixMap – это один из виджетов, использующихся для работы с изображениями. Он оптимизирован для показа изображений на экране. Затем по ходу программы на место некоторых из них встают анимации с изображением горящей спички с помощью виджета QMovie. QMovie – виджет, позволяющий работать с анимацией... ЗАКЛЮЧЕНИЕ В данной курсовой работе было реализовано GUI (графическое интерфейс пользователя) с использованием библиотеки PyQt. В результате разработки GUI были выполнены следующие этапы: • Разработка интерфейса: Задание положение и размеров; Ответная реакция на взаимодействие пользователя; • Анимация интерфейса: Вставка jpg-изображений и gif-анимаций; • Структура игры: Разработка игровой механики; Разработка игровой логики; Итогом курсовой работы стала программа, представляющая собой игру «Спички», реализованную с помощью одного из распространённых языков ООП Python с применением библиотеки PyQt. Таким образом, можно сделать вывод, что первоначальные задачи и поставленные цели были выполнены. 11 СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ • Коцюбинский А.О., Грошев С.В. Компьютерная графика. М.: Технолоджи-3000, 2001. - 750 с. • Королев Ю.И., Устюжанина С.Ю. Инженерная и компьютерная графика: учеб. пособие. СПб.: Питер, 2014. - 432 с. • Поляков А.Ю. Методы и алгоритмы компьютерной графики в примерах на Visual C++. СПб.: БХВ-Петербург, 2002. - 400 с |
Перейти к полному тексту работы |