• Главная
  • Скачать
  • Курсовик Библиотека PyQt для реализации графического изображения


    Предмет: Программирование. Добавлен: 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 с
    Перейти к полному тексту работы