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

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


develop:qt:overall

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
develop:qt:overall [2021/11/10 06:57]
admin
develop:qt:overall [2021/11/19 06:41] (текущий)
admin
Строка 22: Строка 22:
  
 <code cpp-qt> <code cpp-qt>
 +// Вариант удаления каждого элемента списка
 +while (!list.isEmpty())
 +    delete list.takeFirst();
 </code> </code>
 +
 +
 +
 +===== Контекстное меню =====
 +
 +==== QContextMenuEvent ====
 +Содержит события, описывающие пар-ры контекстного меню.\\
 +
 +
 +==== QMenu ====
 +Виджет контекстного меню.\\
 +Может вызываться **синхронно** (exec()) либо **асинхронно** (popup())\\
 +Меню состоит из набора действий (QAction), отображается с помощью QStyle. Перечень существующий действий- метод **actions()**\\
 +
 +Есть 4 типа элементов: **разделители, действия**- отображающие меню и **виджеты, действия**- выполняющие действия.\\
 +Разделители вставляются с помощью **addSeparator()**, подменю- **addMenu()**, а все остальные считаются элементами действий.\\
 +
 +Метод **addAction()** возвращает *QAction, Menu становится владельцем **возвращенного** QAсtion.\\
 +Перед показом меню, можно задать позицию на экране, в переопределенных ф-ях (exec/popup):
 +<code cpp-qt>
 +exec(QCursor::pos());
 +exec(somewidget.mapToGlobal(QPoint(0,0)));
 +exec(e->globalPos());
 +</code>
 +
 +
 +==== QAction ====
 +Предоставляет абстрактное действие пользовательского интерфейса\\
 +Созданные действия можно добавлять и в меню и в панели инструментов, они будут автоматически синхронизироваться (состояние/отображение).\\
 +
 +После создания, д-е нужно добавить в необходимый виджет, затем подключить к слоту, который будет выполнять необходимое действие.\\
 +Рекомендуется создавать д-я дочерними к окну, в котором они используются
 +
 +<details>
 +<summary> :!: Создание и подключение действия</summary>
 +<code cpp-qt>
 +
 +</code>
 +</details>
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
develop/qt/overall.1636527465.txt.gz · Последнее изменение: 2021/11/10 06:57 — admin