
- •Иерархия объектов в Qt
- •Мета-объектная информация
- •Недостатки и преимущества использования сигналов и слотов
- •Сигналы.
- •Соединение и разъединение объектов.
- •Общие методы управления последовательных контейнеров
- •Методы контейнера qVector
- •Методы контейнера qList:
- •Методы контейнера Qstack:
- •Методы контейнера qQueue:
- •Методы управления ассоциативными контейнерами:
- •Методы контейнера qMap:
- •Методы контейнера qHash:
- •Методы контейнера qSet:
- •Итераторы
- •Итераторы в стиле Java
- •Итераторы в стиле stl
- •Принцип работы с оператором foreach
- •Компоновка виджетов на форме.
- •Разделители
- •Области с прокруткой
Методы контейнера qList:
move() |
перемещает элемент с одной позиции на другую |
removeFirst() |
удаляет первый элемент списка |
removeLast() |
удаляет последний элемент списка |
swap() |
меняет местами 2 элемента на указанных позициях |
takeAt() |
возвращает элемент на указанной позиции и удаляет его |
takeFirst() |
возвращает первый элемент и удаляет его |
takeLast() |
возвращает последний элемент и удаляет его |
toSet() |
возвращает контейнер QSet() с данными, содержащимися в объекте QList() |
toStdList() |
возвращает стандартный список Std::list() с элементами, содержащимися в QList() |
toVector() |
возвращает объект вектора QVector() с элементами, содержащимися в объекте QList() |
Стек QStack – реализует структуру работающую по поринципу Last in First out (LIFO). Тоесть из стека первым удаляется тот элемент, который был добавлен последним. Помещение элементов в стек – pushing (проталкивание), а извлечение poping (выталкивание).
Методы контейнера Qstack:
top() |
возвращает ссылку на первый элемент |
push() |
помещает элементы в стек |
pop() |
извлекает элементы из стека |
Очередь QQueue – реализует структуру. Работающую по принципу First in First out (FIFO). Тоесть из списка удаляеься первым тот элемент, который первым был вставлен.
Методы контейнера qQueue:
dequeue() |
удаляет и возвращает объект из начала очереди |
enqueue() |
добавляет элемент в конец очереди |
peek() |
возвращает элемент из начала очереди |
contains() |
определяет, принадлежит ли элемент очереди |
Контейнерные классы (контейнеры) – это классы, которые в состоянии хранить в себе элементы различных типов данных.
Почти все контейнерные классы в Qt реализованы как шаблонные и таким образом они могут хранить данные любого типа. Основная идея шаблона состоит в создании родового класса, который определяется при создании объекта этого класса.
Qt представляет 2 категории разновидностей контейнеров:
последовательные (sequence containers)
ассоциативные (associative containers)
Ассоциативные контейнеры – это коллекции, в которых позиция элемента зависят от его значения, т.е. после занесения элементов в коллекцию, порядок их следования будет задаваться их значением. Задача ассоциативных контейнеров заключается в сохранении соответствий ключа и значения. Это позволяет обращаться к значениям не по индексу, а при помощи ключа. К ассоциативным контейнерам относятся множества, словарь, хеш.
Классы QT этой категории следующие:
QSet – множество
QMap – словарь
QMultiMap – мультисловарь
QHash – хеш
QMultiHash – мультихеш