Описание класса QActionКласс QAction предоставляет абстрактное действие пользовательского интерфейса, которое может быть вставлено в виджеты. Далее... #include <QAction> Унаследован от: QObject. От него наследуются: QMenuItem и QWidgetAction. Открытые типы
Свойства
Открытые функции
Открытые слоты
Сигналы
Переопределённые защищённые функции
Дополнительные унаследованные члены
Подробное описаниеКласс QAction предоставляет абстрактное действие пользовательского интерфейса, которое может быть вставлено в виджеты. В приложениях множество общих команд может быть вызвано через меню, панели инструментов и сочетания клавиш. Поскольку пользователь ожидает, что каждая команда будет выполняться одним и тем же способом, независимо от используемого пользовательского интерфейса, то полезно представить каждую команду как действие. Действия можно добавить в меню и панели инструментов, а затем они будут автоматически синхронизироваться. Например, в текстовом процессоре, если пользователь нажимает кнопку Bold на панели инструментов, то пункт меню Bold будет отмечен автоматически. Действия могут быть созданы как независимые объекты, но могут быть также созданы и при создании меню; класс QMenu содержит вспомогательные функции для создания действий, подходящих для использования в качестве пунктов меню. QAction может содержать пиктограмму, текст меню, комбинацию горячих клавиш, текст состояния, "Что это?" и всплывающую подсказку. Большинство из них могут быть установлены в конструкторе. Также они могут быть установлены независимо с помощью setIcon(), setText(), setIconText(), setShortcut(), setStatusTip(), setWhatsThis() и setToolTip(). Для пунктов меню можно установить собственный шрифт с помощью setFont(). Действия добавляются к виджетам при помощи QWidget::addAction() или QGraphicsWidget::addAction(). Заметьте, что действия должны быть добавлены к виджету перед его использованием; это также справедливо для комбинаций горячих клавиш, которые должны быть глобальными (т.е. Qt::ApplicationShortcut как Qt::ShortcutContext). Как только QAction создан, он должен быть добавлен в соответствующее меню и панель инструментов, а затем подсоединён к слоту, который будет выполнять действие. Например: openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this); openAct->setShortcuts(QKeySequence::Open); openAct->setStatusTip(tr("Open an existing file")); connect(openAct, SIGNAL(triggered()), this, SLOT(open())); fileMenu->addAction(openAct); fileToolBar->addAction(openAct); Мы рекомендуем, чтобы действия создавались как дочерние элементы окна, в котором они используются. В большинстве случаев действия будут дочерними элементами главного окна приложения. Смотрите также QMenu, QToolBar и Пример "Application". Описание типов-членовenum QAction::ActionEventДанное перечисление используется при вызове QAction::activate()
enum QAction::MenuRoleДанное перечисление описывает, как действие должно быть перемещено в меню приложения в Mac OS X.
Установка этих значений оказывает влияние только на те элементы, которые являются непосредственными меню в панели меню, не подменю в этих меню. Например, если у вас есть меню File в вашей панели меню и меню File имеет подменю, то установка MenuRole для действий в этом подменю не имеет эффекта. Они никогда не будут перемещены. enum QAction::PriorityДанное перечисление описывает приоритеты для действий в пользовательском интерфейсе.
Данное перечисление было введено или модифицировано в Qt 4.6. Смотрите также priority. enum QAction::SoftKeyRoleДанное перечисление описывает, как действие должно быть помещено на панель сенсорных клавиш. В настоящее время это перечисление действует только на платформе Symbian.
Действия с определённой ролью сенсорной клавиши видны только в панели сенсорных клавиш, когда виджет, содержащий действие, имеет фокус ввода. Если виджетов с фокусом ввода нет, то каркас сенсорных клавиш пройдёт вверх по иерархии родительских виджетов в поиске виджета, содержащего действие сенсорной клавиши. Данное перечисление было введено или модифицировано в Qt 4.6. Описание свойствautoRepeat : boolЭто свойство определяет, есть ли у действия автоповтор. Если true, то действие будет автоматически повторяться, когда комбинация горячих клавиш на клавиатуре зажимается, при условии, что в системе включён автоповтор клавиатуры. Значение по умолчанию равно true. Это свойство было введено в Qt 4.2. Функции доступа:
Уведомляющий сигнал:
checkable : boolЭто свойство определяет, является ли действие отмечаемым. Отмечаемое действие - это то, которое имеет состояние включено/выключено. Например, в текстовом процессоре кнопка Bold панели инструментов может быть либо включена, либо выключена. Действие, которое не является переключаемым действием, является командным действием; командное действие просто выполняется, например, сохраняет файл. По умолчанию это свойство равно false. В некоторых ситуациях состояние одного переключаемого действия должно зависеть от состояний других. Например, переключаемые действия "Left Align", "Center" и "Right Align" являются взаимоисключающими. Чтобы добиться монопольного переключения, добавьте связанные переключаемые действия в QActionGroup с установленным в true свойством QActionGroup::exclusive. Функции доступа:
Уведомляющий сигнал:
Смотрите также QAction::setChecked(). checked : boolЭто свойство указывает, отмечено ли действие. Только отмечаемые действия могут быть отмечены. По умолчанию это false (действие не отмечено). Функции доступа:
Уведомляющий сигнал:
Смотрите также checkable. enabled : boolЭто свойство указывает, включено ли действие. Выключенные действия не могут быть выбраны пользователем. Они не исчезают из меню или панелей инструментов, но они отображаются способом, указывающим, что они недоступны. Например, они могут отображаться с использованием только оттенков серого. Справка Что это? на отключённых действиях остаётся доступной, при условии, что установлено свойство QAction::whatsThis. Действие будет отключено, когда все виджеты, к которым оно добавлено (с помощью QWidget::addAction()) отключены или невидимы. Когда действие отключено, его невозможно вызвать с помощью горячих клавиш. По умолчанию это свойство установлено в true (действие включено). Функции доступа:
Уведомляющий сигнал:
Смотрите также text. font : QFontЭто свойство содержит шрифт действия. Свойство шрифта используется для отображения текста, установленного для QAction. Шрифт будет рассматриваться как подсказка, поскольку он не будет запрашиваться во всех случаях, относящихся к приложению и стилю. По умолчанию это свойство содержит шрифт приложения по умолчанию. Функции доступа:
Уведомляющий сигнал:
Смотрите также QAction::setText() и QStyle. icon : QIconЭто свойство содержит пиктограмму действия. На панели инструментов пиктограмма используется как пиктограмма кнопки панели инструментов; в меню она отображается слева от текста меню. По умолчанию пиктограммы нет. В Symbian пиктограммы, которые передаются сенсорным клавишам, т.е. действиям с ролью сенсорных клавиш, должны иметь корректно установленный альфа-канал растрового изображения, в противном случае при нажатии сенсорной клавиши будут появляться артефакты рисования. Если в эту функцию передаётся нулевая пиктограмма (QIcon::isNull()), то пиктограмма действия очищается. Функции доступа:
Уведомляющий сигнал:
iconText : QStringЭто свойство содержит текст, описывающий пиктограмму действия. Если QToolBar::toolButtonStyle установлено в значение, которое разрешает отображение текста, то содержащийся в этом свойстве текст отображается как метка на соответствующей кнопке панели инструментов. Он также служит в качестве текста по умолчанию в меню и всплывающих подсказках, если у действия не были определены setText() или setToolTip(), а также будет использоваться на кнопках панели инструментов, если не была определена пиктограмма при помощи setIcon(). Если текст пиктограммы явно не установлен, то для текста пиктограммы будет использоваться нормальный текст действия. По умолчанию это свойство содержит пустую строку. Функции доступа:
Уведомляющий сигнал:
Смотрите также setToolTip() и setStatusTip(). iconVisibleInMenu : boolЭто свойство определяет, должно ли действие отображать пиктограмму в меню. В некоторых приложениях может быть целесообразно иметь действия с пиктограммами на панели инструментов, но не в меню. Если true, то пиктограмма (если допустимая) отображается в меню, когда оно равно false, то она не отображается. Значение по умолчанию следит, установлен ли для приложения атрибут Qt::AA_DontShowIconsInMenus. Явная настройка этого свойства переопределяет наличие (или отсутствие) атрибута. Например: QApplication app(argc, argv); app.setAttribute(Qt::AA_DontShowIconsInMenus); // пиктограммы *больше не отображаются* в меню // ... QAction *myAction = new QAction(); // ... myAction->setIcon(SomeIcon); myAction->setIconVisibleInMenu(true); // пиктограммы *будут* отображаться в меню для *этого* действия. Это свойство было введено в Qt 4.4. Функции доступа:
Уведомляющий сигнал:
Смотрите также QAction::icon и QApplication::setAttribute(). menuRole : MenuRoleЭто свойство содержит роль меню действия. Это указывает, какую роль обслуживает действие в меню приложения в Mac OS X. По умолчанию все действия имеют TextHeuristicRole, которая означает, что это действие добавляется на основании его текста (для получения дополнительной информации смотрите QMenuBar). Роль меню может быть изменена только перед тем, как действие будет помещено в панель меню в Mac OS X (обычно непосредственно до первого отображения окна приложения). Это свойство было введено в Qt 4.2. Функции доступа:
Уведомляющий сигнал:
priority : PriorityЭто свойство содержит приоритет действия в пользовательском интерфейсе. Это свойство может быть установлено для индикации того, каким действиям должны отдаваться предпочтения в пользовательском интерфейсе. Например, когда у панели инструментов установлен режим Qt::ToolButtonTextBesideIcon, то действия с LowPriority не будут отображать текстовые метки. Это свойство было введено в Qt 4.6. Функции доступа:
shortcut : QKeySequenceЭто свойство содержит первичную комбинацию горячих клавиш действия. Допустимые коды клавиш для этого свойства могут быть найдены в Qt::Key и Qt::Modifier. По умолчанию комбинации горячих клавиш нет. Функции доступа:
Уведомляющий сигнал:
shortcutContext : Qt::ShortcutContextЭто свойство содержит контекст для комбинации горячих клавиш действия. Допустимые значения для этого свойства могут быть найдены в Qt::ShortcutContext. Значением по умолчанию является Qt::WindowShortcut. Функции доступа:
Уведомляющий сигнал:
softKeyRole : SoftKeyRoleЭто свойство содержит роль сенсорных клавиш действия. Это указывает, какой тип роли описывает это действие в каркасе (framework) сенсорных клавиш на платформах, где поддерживается такой каркас. В настоящее время он поддерживается только на платформе Symbian. Роль сенсорных клавиш может быть изменена в любое время. Это свойство было введено в Qt 4.6. Функции доступа:
Уведомляющий сигнал:
statusTip : QStringЭто свойство содержит подсказку строки состояния для действия. Подсказка строки состояния отображается во всех строках состояния, предоставляемых родительским виджетом верхнего уровня, относящимся к действию. По умолчанию это свойство содержит пустую строку. Функции доступа:
Уведомляющий сигнал:
Смотрите также setToolTip() и showStatusText(). text : QStringЭто свойство содержит текст, описывающий действие. Если действие будет добавлено в меню, то пункт меню будет состоять из пиктограммы (если она есть), текста и комбинации горячих клавиш (если она есть). Если текст явно не установлен в конструкторе или при помощи setText(), то в качестве текста будет использоваться текст, описывающий пиктограмму действия. Текст по умолчанию не определён. Функции доступа:
Уведомляющий сигнал:
Смотрите также iconText. toolTip : QStringЭто свойство содержит всплывающую подсказку действия. Этот текст используется для всплывающей подсказки. Если всплывающая подсказка не указана, то используется текст действия. По умолчанию это свойство содержит текст действия. Функции доступа:
Уведомляющий сигнал:
Смотрите также setStatusTip() и setShortcut(). visible : boolЭто свойство указывает, можно ли будет увидеть действие (например, в меню и панелях инструментов). Если visible равно true, то пользователь может увидеть (например, в меню и на панелях инструментов) и выбрать действие; если visible равно false, то пользователь не может увидеть и выбрать действие. Действия, которые не видимы, не отображаются серым цветом; они вообще не появляются. По умолчанию это свойство равно true (действия видны). Функции доступа:
Уведомляющий сигнал:
whatsThis : QStringЭто свойство содержит текст справки "Что это?" для действия. Текст "Что это?" используется для предоставления короткого описания действия. Текст может содержать форматированный текст. По умолчанию текст "Что это?" отсутствует. Функции доступа:
Уведомляющий сигнал:
Смотрите также QWhatsThis и Q3StyleSheet. Описание функций-членовQAction::QAction ( QObject * parent )Создаёт действие с родителем parent. Если родитель parent является группой действий, то действие будет автоматически вставлено в группу. QAction::QAction ( const QString & text, QObject * parent )Создаёт действие с некоторым текстом text и родителем parent. Если родитель parent является группой действий, то действие будет автоматически вставлено в группу. Действие использует упрощённую версию текста text (например, "&Menu Option..." становится "Menu Option") в качестве описательного текста для кнопок панели инструментов. Вы можете изменить это, установив конкретное описание с помощью setText(). Этот же текст будет использоваться для всплывающих подсказок, если вы не указали другой текст с помощью setToolTip(). QAction::QAction ( const QIcon & icon, const QString & text, QObject * parent )Создаёт действие с пиктограммой icon, некоторым текстом text и родителем parent. Если родитель parent является группой действий, то действие будет автоматически вставлено в группу. Действие использует упрощённую версию текста text (например, "&Menu Option..." становится "Menu Option") в качестве описательного текста для кнопок панели инструментов. Вы можете изменить это, установив конкретное описание с помощью setText(). Этот же текст будет использоваться для всплывающих подсказок, если вы не указали другой текст с помощью setToolTip(). QAction::~QAction ()Удаляет объект и освобождает выделенные ему ресурсы. QActionGroup * QAction::actionGroup () constВозвращает группу действий для этого действия. Если нет группы действий, управляющей этим действием, то будет возвращён 0. Смотрите также QActionGroup и QAction::setActionGroup(). void QAction::activate ( ActionEvent event )Отправляет соответствующие сигналы для события event типа ActionEvent . Действие основывается на использовании виджетами этого API, чтобы заставить QAction посылать сигналы, а также посылать свои собственные. QList<QGraphicsWidget *> QAction::associatedGraphicsWidgets () constВозвращает список виджетов, к которым было добавлено это действие. Эта функция была введена в Qt 4.5. Смотрите также QWidget::addAction() и associatedWidgets(). QList<QWidget *> QAction::associatedWidgets () constВозвращает список виджетов, к которым было добавлено это действие. Эта функция была введена в Qt 4.2. Смотрите также QWidget::addAction() и associatedGraphicsWidgets(). void QAction::changed () [signal]Этот сигнал посылается при изменении действия. Если вы заинтересованы в действиях только заданного виджета, то вы можете наблюдать за отправкой QWidget::actionEvent() совместно с QEvent::ActionChanged. Смотрите также QWidget::actionEvent(). QVariant QAction::data () constВозвращает пользовательские данные, установленные в QAction::setData. Смотрите также setData(). bool QAction::event ( QEvent * e ) [virtual protected]Переопределено от QObject::event(). void QAction::hover () [slot]Это вспомогательный слот, который вызывается activate(Hover). void QAction::hovered () [signal]Этот сигнал посылается, когда действие выделяется пользователем; например, когда пользователь задерживает курсор над пунктом меню, кнопкой панели инструментов или нажимает комбинацию горячих клавиш действия. Смотрите также QAction::activate(). bool QAction::isSeparator () constВозвращает true, если действие является действием-разделителем; в противном случае возвращает false. Смотрите также QAction::setSeparator(). QMenu * QAction::menu () constВозвращает меню, содержащееся в этом действии. Действия, которые содержат меню, могут быть использованы для создания пунктов меню с подменю или вставлены на панель инструментов для создания кнопки со всплывающим меню. Смотрите также setMenu() и QMenu::addAction(). QWidget * QAction::parentWidget () constВозвращает родительский виджет. void QAction::setActionGroup ( QActionGroup * group )Устанавливает группу действий в group. Действие будет автоматически добавлено в список группы действий. Действия в группе будут взаимоисключающими. Смотрите также QActionGroup и QAction::actionGroup(). void QAction::setData ( const QVariant & userData )Устанавливает внутренние данные действия в заданные userData. Смотрите также data(). void QAction::setDisabled ( bool b ) [slot]Это вспомогательная функция для свойства enabled, полезная для соединений сигналы--слоты. Ели b равен true, то действие отключено; в противном случае оно включено. void QAction::setMenu ( QMenu * menu )Устанавливает меню, содержащееся в этом действии, в указанное меню menu. Смотрите также menu(). void QAction::setSeparator ( bool b )Если b равен true, то это действие будет считаться разделителем. То, как будет представлен разделитель, зависит от виджета, в который он будет вставлен. В большинстве случаев текст, подменю и пиктограмма для действия-разделителя будут проигнорированы. Смотрите также QAction::isSeparator(). void QAction::setShortcuts ( const QList<QKeySequence> & shortcuts )Устанавливает комбинации горячих клавиш shortcuts как список комбинаций горячих клавиш, которые переключают действие. Первый элемент списка является первичной комбинацией горячих клавиш. Эта функция была введена в Qt 4.2. Смотрите также shortcuts() и shortcut. void QAction::setShortcuts ( QKeySequence::StandardKey key )Устанавливает платформозависимый список горячих клавиш, основанный на клавише key. Результат вызова этой функции в настоящее время будет зависеть от рабочей платформы. Заметьте, что этим действием может быть присвоено несколько комбинаций горячих клавиш. Если требуется только первичная комбинация горячих клавиш, то используйте вместо этого setShortcut. Эта функция была введена в Qt 4.2. Смотрите также QKeySequence::keyBindings(). QList<QKeySequence> QAction::shortcuts () constВозвращает список комбинаций горячих клавиш с первичной комбинацией в качестве первого элемента списка. Эта функция была введена в Qt 4.2. Смотрите также setShortcuts(). bool QAction::showStatusText ( QWidget * widget = 0 )Обновляет связанную с виджетом widget строку состояния, определяемую отправкой QStatusTipEvent в его родительский виджет. Возвращает true, если событие было отправлено; в противном случае возвращает false. Если был указан нулевой виджет, то событие отправляется родителю действия. Смотрите также statusTip. void QAction::toggle () [slot]Это вспомогательная функция для свойства checked. Подсоединитесь к ней для изменения состояния отметки на противоположное. void QAction::toggled ( bool checked ) [signal]Этот сигнал посылается, когда отмечаемое действие изменяет свое состояние isChecked(). Это может быть результатом взаимодействия с пользователем или вызова setChecked(). checked равен true, если действие отмечено, или false, если действие не отмечено. Смотрите также QAction::activate(), QAction::triggered() и checked. void QAction::trigger () [slot]Это вспомогательный слот, который вызывается activate(Trigger). void QAction::triggered ( bool checked = false ) [signal]Этот сигнал посылается, когда действие активируется пользователем; например, когда пользователь щёлкает по пункту меню, кнопке панели инструментов или нажимает комбинацию горячих клавиш действия, или когда вызывается trigger(). Обратите внимание, что он не посылается, когда вызываются setChecked() или toggle(). Если действие отмечаемое, то checked равен true, если действие отмечено, или false, если действие не отмечено. Смотрите также QAction::activate(), QAction::toggled() и checked. |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |