---
id: "qicon"
title: "QIcon"
sidebar_label: "QIcon"
---

> The QIcon class provides scalable icons in different modes and states.

**This class is a JS wrapper around Qt's [QIcon class](https://doc.qt.io/qt-5/qicon.html)**

### Example

```javascript
const { QIcon } = require("@nodegui/nodegui");

const imageUrl = "path/to/png";
const icon = new QIcon(imageUrl);
```

## Hierarchy

* [Component](component.md)

  ↳ **QIcon**

## Index

### Constructors

* [constructor](qicon.md#constructor)

### Properties

* [native](qicon.md#native)
* [nodeChildren](qicon.md#nodechildren)
* [nodeParent](qicon.md#optional-nodeparent)

### Methods

* [cacheKey](qicon.md#cachekey)
* [isMask](qicon.md#ismask)
* [pixmap](qicon.md#pixmap)
* [setIsMask](qicon.md#setismask)
* [setNodeParent](qicon.md#setnodeparent)
* [fromQVariant](qicon.md#static-fromqvariant)

## Constructors

###  constructor

\+ **new QIcon**(): *[QIcon](qicon.md)*

*Overrides [Component](component.md).[constructor](component.md#constructor)*

**Returns:** *[QIcon](qicon.md)*

\+ **new QIcon**(`native`: [NativeElement](../globals.md#nativeelement)): *[QIcon](qicon.md)*

*Overrides [Component](component.md).[constructor](component.md#constructor)*

**Parameters:**

Name | Type |
------ | ------ |
`native` | [NativeElement](../globals.md#nativeelement) |

**Returns:** *[QIcon](qicon.md)*

\+ **new QIcon**(`filePath`: string): *[QIcon](qicon.md)*

*Overrides [Component](component.md).[constructor](component.md#constructor)*

**Parameters:**

Name | Type |
------ | ------ |
`filePath` | string |

**Returns:** *[QIcon](qicon.md)*

## Properties

###  native

• **native**: *[NativeElement](../globals.md#nativeelement)*

*Overrides [Component](component.md).[native](component.md#abstract-native)*

___

###  nodeChildren

• **nodeChildren**: *Set‹[Component](component.md)›*

*Inherited from [Component](component.md).[nodeChildren](component.md#nodechildren)*

___

### `Optional` nodeParent

• **nodeParent**? : *[Component](component.md)*

*Inherited from [Component](component.md).[nodeParent](component.md#optional-nodeparent)*

## Methods

###  cacheKey

▸ **cacheKey**(): *number*

**Returns:** *number*

___

###  isMask

▸ **isMask**(): *boolean*

**Returns:** *boolean*

___

###  pixmap

▸ **pixmap**(`width`: number, `height`: number, `mode?`: [QIconMode](../enums/qiconmode.md), `state?`: [QIconState](../enums/qiconstate.md)): *[QPixmap](qpixmap.md)*

**Parameters:**

Name | Type |
------ | ------ |
`width` | number |
`height` | number |
`mode?` | [QIconMode](../enums/qiconmode.md) |
`state?` | [QIconState](../enums/qiconstate.md) |

**Returns:** *[QPixmap](qpixmap.md)*

___

###  setIsMask

▸ **setIsMask**(`isMask`: boolean): *void*

**Parameters:**

Name | Type |
------ | ------ |
`isMask` | boolean |

**Returns:** *void*

___

###  setNodeParent

▸ **setNodeParent**(`parent?`: [Component](component.md)): *void*

*Inherited from [Component](component.md).[setNodeParent](component.md#setnodeparent)*

**Parameters:**

Name | Type |
------ | ------ |
`parent?` | [Component](component.md) |

**Returns:** *void*

___

### `Static` fromQVariant

▸ **fromQVariant**(`variant`: [QVariant](qvariant.md)): *[QIcon](qicon.md)*

**Parameters:**

Name | Type |
------ | ------ |
`variant` | [QVariant](qvariant.md) |

**Returns:** *[QIcon](qicon.md)*
