--- sidebar_label: QAction title: QAction --- > The QAction class provides an abstract user interface action that can be inserted into widgets. **This class is a JS wrapper around Qt's [QAction class](https://doc.qt.io/qt-5/qaction.html)** **QAction inherits from [EventWidget](api/EventWidget.md)** ### Example ```javascript const { QAction, QMenu } = require("@nodegui/nodegui"); const menu = new QMenu(); const menuAction = new QAction(); menuAction.setText("subAction"); menuAction.addEventListener("triggered", () => { console.log("Action clicked"); }); menu.addAction(menuAction); ``` ### `new QAction(parent?)` - `parent` NodeWidget. Constructs an action with parent. If parent is an action group the action will be automatically inserted into the group. ## Static Methods QAction can access all the static methods defined in [EventWidget](api/EventWidget.md) ## Instance Properties QAction can access all the instance properties defined in [EventWidget](api/EventWidget.md) ## Instance Methods QAction can access all the instance methods defined in [EventWidget](api/EventWidget.md). Additionally it also has the following instance methods: ### `action.setEnabled(enabled)` This property holds whether the action is enabled. It calls the native method [QAction: setEnabled](https://doc.qt.io/qt-5/qaction.html#enabled-prop). - `enabled` - Boolean ### `action.setText(on)` This property holds the action's descriptive text. It calls the native method [QAction: setText](https://doc.qt.io/qt-5/qaction.html#text-prop). - `text` - string ### `action.setIcon(icon)` Sets the icon of action. It calls the native method [QAction: setIcon](https://doc.qt.io/qt-5/qaction.html#icon-prop). - `icon` [QIcon](api/QIcon.md) ### `action.setMenu(menu)` Sets the menu contained by this action to the specified menu. It calls the native method [QAction: setMenu](https://doc.qt.io/qt-5/qaction.html#setMenu). - `menu` [QMenu](api/QMenu.md) ### `action.setShortcut(keySequence)` This property holds the action's key sequence. It calls the native method [QAction: setShortcut](https://doc.qt.io/qt-5/qaction.html#shortcut-prop). - `keySequence` [QKeySequence](api/QKeySequence.md) ### `action.setShortcutContext(contextEnum)` This property holds the context in which the action is valid. It calls the native method [QAction: setShortcutContext](https://doc.qt.io/qt-5/qaction.html#shortcutContext-prop). - `contextEnum` - ShortcutContext enum. ### `action.isCheckable()` Returns true if this action has been marked as checkable. It calls the native method [QIcon: isCheckable](https://doc.qt.io/qt-5/qaction.html#checkable-prop). ### `icon.setCheckable(isCheckable)` Indicate that this action is checkable. A checkable action is one which has an on/off state. For example, in a word processor, a Bold toolbar button may be either on or off. An action which is not a toggle action is a command action; a command action is simply executed, e.g. file save. By default, this property is `false`. It calls the native method [QIcon: setCheckable](https://doc.qt.io/qt-5/qaction.html#checkable-prop). - `isCheckable`: boolean ### `action.isChecked()` Returns true if this action has been marked as checked. It calls the native method [QIcon: isChecked](https://doc.qt.io/qt-5/qaction.html#checked-prop). ### `icon.setChecked(isChecked)` Indicate that this action is checked. Only checkable actions can be checked. By default, this is false (the action is unchecked). It calls the native method [QIcon: setChecked](https://doc.qt.io/qt-5/qaction.html#checkable-prop). - `isChecked`: boolean