Инструменты пользователя

Инструменты сайта


develop:qt:overall

Это старая версия документа!


Общее

Сигнало-слот

Функцию слота можно определить прямо в коннекте:

connect(butJustButton, &QPushButton::clicked, [=](){QMessageBox::information(this, "Caption", "Hello");});

Контейнеры

Наиболее эффективный и часто применяемый- Vector (Q/STD), последовательный, элементы располагаются по порядку, трудности вызывают вставка/удаление в середину. Применение reserve эффективно.
Внутренняя структура QVector немного более сложна чем у STD.

Далее QList (ничего общего с std::list), тоже последовательный, почти всегда, автоматом является перечнем ссылок- (void*), вставка/удаление в середину проходит эффективно. Оптимален не для всех типов.

// Вариант удаления каждого элемента списка
while (!list.isEmpty())
    delete list.takeFirst();

Контекстное меню

QContextMenuEvent

Содержит события, описывающие пар-ры контекстного меню.

QMenu

Виджет контекстного меню.
Может вызываться синхронно (exec()) либо асинхронно (popup())
Меню состоит из набора действий (QAction), отображается с помощью QStyle. Перечень существующий действий- метод actions()

Есть 4 типа элементов: разделители, действия- отображающие меню и виджеты, действия- выполняющие действия.
Разделители вставляются с помощью addSeparator(), подменю- addMenu(), а все остальные считаются элементами действий.

develop/qt/overall.1637221793.txt.gz · Последнее изменение: 2021/11/18 07:49 — admin