<!--
{
  "availability" : [
    "macOS: 10.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "QuickLookUI",
  "identifier" : "/documentation/QuickLookUI/QLPreviewPanel",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Quick Look UI"
    ],
    "preciseIdentifier" : "c:objc(cs)QLPreviewPanel"
  },
  "title" : "QLPreviewPanel"
}
-->

# QLPreviewPanel

A class that implements the Quick Look preview panel to display a preview of a list of items.

```
class QLPreviewPanel
```

## Overview

Every application has a single shared instance of [`QLPreviewPanel`](/documentation/QuickLookUI/QLPreviewPanel) accessible through [`shared()`](/documentation/QuickLookUI/QLPreviewPanel/shared()). The preview panel follows the responder chain and adapts to the first responder willing to control it. A preview panel controller provides the content through methods defined in the [`QLPreviewPanelDataSource`](/documentation/QuickLookUI/QLPreviewPanelDataSource) protocol.

You can’t subclass [`QLPreviewPanel`](/documentation/QuickLookUI/QLPreviewPanel); you can, however, customize its behavior using a [`delegate`](/documentation/QuickLookUI/QLPreviewPanel/delegate). See the [`QLPreviewPanelDelegate`](/documentation/QuickLookUI/QLPreviewPanelDelegate) protocol for the methods to customize a preview panel’s behavior.

## Topics

### Accessing the Shared Panel

[`+  sharedPreviewPanel`](/documentation/QuickLookUI/QLPreviewPanel/shared())

Returns the shared Quick Look preview panel instance.

[`+  sharedPreviewPanelExists`](/documentation/QuickLookUI/QLPreviewPanel/sharedPreviewPanelExists())

Returns a Boolean value that indicates whether the system has created a shared Quick Look preview panel.

### Accessing the Preview Panel Controller

[`currentController`](/documentation/QuickLookUI/QLPreviewPanel/currentController)

The current first responder accepting to control the preview panel.

[`-  updateController`](/documentation/QuickLookUI/QLPreviewPanel/updateController())

Asks the preview panel to update its current controller.

### Managing the Preview Items

[`dataSource`](/documentation/QuickLookUI/QLPreviewPanel/dataSource)

The preview panel data source.

[`-  reloadData`](/documentation/QuickLookUI/QLPreviewPanel/reloadData())

Asks the preview panel to reload its data from its data source.

[`-  refreshCurrentPreviewItem`](/documentation/QuickLookUI/QLPreviewPanel/refreshCurrentPreviewItem())

Asks the preview panel to recompute the preview of the current preview item.

[`currentPreviewItemIndex`](/documentation/QuickLookUI/QLPreviewPanel/currentPreviewItemIndex)

The index of the current preview item.

[`currentPreviewItem`](/documentation/QuickLookUI/QLPreviewPanel/currentPreviewItem)

The currently previewed item.

[`displayState`](/documentation/QuickLookUI/QLPreviewPanel/displayState)

The preview panel’s display state.

### The Panel’s Delegate

[`delegate`](/documentation/QuickLookUI/QLPreviewPanel/delegate)

The delegate object that controls the preview panel’s behavior.

### Managing Full Screen Mode

[`-  enterFullScreenMode:withOptions:`](/documentation/QuickLookUI/QLPreviewPanel/enterFullScreenMode(_:withOptions:))

Instructs the panel to enter full screen mode.

[`-  exitFullScreenModeWithOptions:`](/documentation/QuickLookUI/QLPreviewPanel/exitFullScreenMode(options:))

Instructs the panel to exit full screen mode.

[`inFullScreenMode`](/documentation/QuickLookUI/QLPreviewPanel/isInFullScreenMode)

The property that indicates whether the panel is in full screen mode.

## Relationships

### Conforms To

[`NSAnimatablePropertyContainer`](/documentation/AppKit/NSAnimatablePropertyContainer)

[`NSUserInterfaceValidations`](/documentation/AppKit/NSUserInterfaceValidations)

[`NSStandardKeyBindingResponding`](/documentation/AppKit/NSStandardKeyBindingResponding)

[`NSUserInterfaceItemIdentification`](/documentation/AppKit/NSUserInterfaceItemIdentification)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSAccessibilityProtocol`](/documentation/AppKit/NSAccessibilityProtocol)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Equatable`](/documentation/Swift/Equatable)

[`NSAccessibilityElementProtocol`](/documentation/AppKit/NSAccessibilityElementProtocol)

[`NSAppearanceCustomization`](/documentation/AppKit/NSAppearanceCustomization)

[`NSUserActivityRestoring`](/documentation/AppKit/NSUserActivityRestoring)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

[`NSMenuItemValidation`](/documentation/AppKit/NSMenuItemValidation)

[`Hashable`](/documentation/Swift/Hashable)

[`NSCoding`](/documentation/Foundation/NSCoding)

### Inherits From

[`NSPanel`](/documentation/AppKit/NSPanel)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)