На этом шаге мы перечислим основные типы данных.
Библиотека PyQt является надстройкой над написанной на языке C++ библиотекой Qt. Последняя содержит множество классов, которые расширяют стандартные типы данных языка C++ и реализуют динамические массивы, ассоциативные массивы, множества и др. Все эти классы очень помогают при программировании на языке C++, но для языка Python они не представляют особого интереса, т. к. весь этот функционал содержат стандартные типы данных. Тем не менее, при чтении документации вы столкнетесь с ними, поэтому сейчас мы кратко рассмотрим основные типы:
>>> from PyQt5 import QtCore >>> arr = QtCore.QByteArray(bytes("str", "cp1251") ) >>> arr PyQt5.QtCore.QByteArray(b'str') >>> bytes(arr) b'str'
>>> from PyQt5 import QtCore >>> n = QtCore.QVariant (10) >>> n <PyQt5.QtCore.QVariant object at 0x0466A930> >>> n.value() 10
Также можно создать "пустой" объект класса QVariant, вызвав конструктор без параметров:
>>> QtCore.QVariant() # Пустой объект <PyQt5.QtCore.QVariant object at 0x0466A970>
Если какой-либо метод ожидает данные типа QVariant, ему можно передать данные любого типа.
Еще этот класс поддерживает метод typeName(), возвращающий наименование типа хранящихся в объекте данных:
>>> from PyQt5 import QtCore >>> n = QtCore.QVariant (10) >>> n.typeName () 'int'
Кроме того, PyQt5 поддерживает классы QDate (значение даты), QTime (значение времени), QDateTime (значение даты и времени), QTextStream (текстовый поток), QUrl (URL-адрес) и некоторые другие.
На следующем шаге мы рассмотрим управление основным циклом приложения.