Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

statusBar

Создание игры «Тетрис» в PyQt5 [Урок №12]

16 марта 2015 г. Archy Изучение PyQt5 11

Создание игры «Тетрис» в PyQt5

Игра Тетрис – одна из самых популярных когда-либо созданных компьютерных игр. Оригинальная игра была разработана и запрограммирована русским программистом Алексеем Пажитновым в 1985 году. С тех пор, Тетрис доступен на почти каждой компьютерной платформе в множестве вариаций.

Тетрисом называется игра-головоломка с падающими блоками. В этой игре, мы имеет семь разных фигур, называемых как: S-фигура, Z-фигура, T-фигура, L-фигура, фигура-линия, фигура «Зеркальная L», и фигура-квадрат. Каждая из этих фигур формируется с помощью четырёх квадратиков. Фигуры падают вниз на доску. Цель игры Тетрис – перемещать и вращать фигуры так, чтобы их приземлилось как можно больше. Если мы сумеем сформировать ряд, ряд разрушается и мы получаем очки. Мы играем в Тетрис до тех пор, пока мы не достигнем верха.

Тетромино
Рисунок: Тетромино

PyQt5 – инструментарий, разработанный для создания приложений. Существуют другие библиотеки, которые нацелены на создание компьютерный игр. Несмотря на это, PyQt5 и другие библиотеки для приложений могут быть использованы для создания простых игр. Создание компьютерной игры – отличный способ повышения навыков программирования.

Далее...

События и сигналы в PyQt5 [Урок №5]

9 марта 2015 г. Archy Изучение PyQt5 4

События и сигналы в PyQt5 [Урок №5]

В этой части руководства по программированию с PyQt5

мы изучим события и сигналы, встречающиеся в приложениях.

События

Все приложения с графическим интерфейсом являются событийно-ориентированными. События вызываются главным образом пользователем приложения. Однако, они могут быть вызваны другими средствами, к примеру подключением к Интернету, диспетчером окон или таймером. Когда мы вызываем метод exec_(), приложение входит в главный цикл. Главный цикл получает события и отправляет их объектам.

В событийной модели имеются три участника:

  • Источник события;
  • Объект события;
  • Цель события.

Источник события – это объект, состояние которого меняется. Он вызывает события. Объект события (событие) внедряет состояние, которое меняется в источнике события. Цель события – это объект, которому требуется уведомление. Объект источника события поручает задачу обработки события цели события.

Чтобы начать работу с событиями, PyQt5 имеет уникальный механизм сигналов и слотов. Сигналы и слоты используют для связи между объектами. Сигнал срабатывает, когда происходит конкретное событие. Слот может быть чем-то, вызываемым средствами Python. Слот вызывается, когда срабатывает его сигнал.

Далее...

Меню и панели инструментов в PyQt5 [Урок №3]

7 марта 2015 г. Archy Изучение PyQt5 9

Меню и панели инструментов в PyQt5

В этой части руководства PyQt5, мы будем создавать меню и панели инструментов. Меню – это группа команд, располагающаяся ниже строки заголовка программы. Панель инструментов содержит кнопки с несколькими распространенными командами в приложении.

Основное окно

Класс QMainWindow предоставляет главное окно приложения. Он позволяет создать классический каркас приложения со строкой состояния, панелями инструментов и меню.

Строка состояния

Строка состояния – это виджет, который используется для отображения сведений о состоянии.

#!/usr/bin/python3
# -*- coding: utf-8 -*-
 
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
class Example(QMainWindow):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):               
        self.statusBar().showMessage('Ready')
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Statusbar')    
        self.show()
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
Далее...