---
title: ControlWidgetButton
framework: widgetkit
role: symbol
role_heading: Structure
path: widgetkit/controlwidgetbutton
---

# ControlWidgetButton

A control template representing a button.

## Declaration

```swift
@MainActor @preconcurrency struct ControlWidgetButton<Label, ActionLabel, Action> where Label : View, ActionLabel : View
```

## Overview

Overview Buttons don’t have state; use them for fire-and-forget actions such as playing a sound or launching an app.

## Topics

### Initializers

- [init(action:label:)](widgetkit/controlwidgetbutton/init(action:label:)-77p8j.md)
- [init(action:label:)](widgetkit/controlwidgetbutton/init(action:label:)-8oxxp.md)
- [init(action:label:actionLabel:)](widgetkit/controlwidgetbutton/init(action:label:actionlabel:).md)
- [init(action:label:actionLabel:)](widgetkit/controlwidgetbutton/init(action:label:actionlabel:).md)
- [init(_:action:actionLabel:)](widgetkit/controlwidgetbutton/init(_:action:actionlabel:)-4sgji.md)
- [init(_:action:actionLabel:)](widgetkit/controlwidgetbutton/init(_:action:actionlabel:)-67uvw.md)
- [init(_:action:actionLabel:)](widgetkit/controlwidgetbutton/init(_:action:actionlabel:)-1kxch.md)

### Default action label

- [ControlWidgetButtonDefaultActionLabel](widgetkit/controlwidgetbuttondefaultactionlabel.md)

## Relationships

### Conforms To

- [ControlWidgetTemplate](swiftui/controlwidgettemplate.md)

## See Also

### Setup and configuration

- [Creating controls to perform actions across the system](widgetkit/creating-controls-to-perform-actions-across-the-system.md)
- [Adding refinements and configuration to controls](widgetkit/adding-refinements-and-configuration-to-controls.md)
- [StaticControlConfiguration](widgetkit/staticcontrolconfiguration.md)
- [AppIntentControlConfiguration](widgetkit/appintentcontrolconfiguration.md)
- [ControlCenter](widgetkit/controlcenter.md)
- [ControlInfo](widgetkit/controlinfo.md)
- [ControlWidgetToggle](widgetkit/controlwidgettoggle.md)
