UniDeskButton Type
Multi-function button control supporting icon-only, text-only, text-beside-icon, and text-under-icon display modes. Features complete hover/press/disabled state color management with built-in Tooltip support.
| Item | Description |
|---|---|
| Control Type | Visual Control |
| Source File | UniDesk/Controls/UniDeskButton.qml |
| Inherits | QtQuick Button |
| QML Import | import UniDesk.Controls 1.0 |
Properties
Content
property string contentText: Button text contentproperty string iconSource: Icon source path (local file or qrc resource)property int display: Display mode (corresponds toButtondisplay enum)Button.IconOnly(0): Icon only (default)Button.TextOnly(1): Text onlyButton.TextBesideIcon(2): Text beside iconButton.TextUnderIcon(3): Text under icon
Appearance
property double radius: Corner radius. Default: 3property double iconSize: Icon size. Default: 15property double borderWidth: Border width. Default: 0property color borderColor: Border color. Default follows themeproperty double horizontalPadding: Horizontal padding. Default: 10property double verticalPadding: Vertical padding. Default: 10property font font: Font. Default:UniDeskTextStyle.tiny
Color States (Background)
property color bgNormalColor: Normal background. Default: transparentproperty color bgHoverColor: Hover background. Auto-calculated from themeproperty color bgPressColor: Press background. Auto-calculated from themeproperty color bgDisableColor: Disabled background. Default: transparentproperty color bgColor(read-only): Current actual background, auto-switched byUniDeskTools.switchColor
Color States (Icon)
property color iconNormalColor: Normal icon color. Default: blackproperty color iconHoverColor: Hover icon colorproperty color iconPressColor: Press icon colorproperty color iconDisableColor: Disabled icon color. Default: grayproperty color iconColor(read-only): Current actual icon color, auto-switched
Color States (Text)
property color textNormalColor: Normal text color. Default follows themeproperty color textHoverColor: Hover text colorproperty color textPressColor: Press text colorproperty color textDisableColor: Disabled text color. Default: grayproperty color textColor(read-only): Current actual text color, auto-switched
Examples
qml
import UniDesk.Controls 1.0
// Icon button
UniDeskButton {
display: Button.IconOnly
iconSource: "qrc:/media/img/close.svg"
onClicked: console.log("clicked")
}
// Text button
UniDeskButton {
display: Button.TextOnly
contentText: "OK"
bgNormalColor: UniDeskSettings.primaryColor
textNormalColor: "white"
}
// Icon + text
UniDeskButton {
display: Button.TextBesideIcon
iconSource: "qrc:/media/img/settings.svg"
contentText: "Settings"
}Tooltip
When the button is in IconOnly mode and contentText is non-empty, a Tooltip automatically appears after 2 seconds of hover.
Accessibility
Automatically sets Accessible.role, Accessible.name, Accessible.description, and Accessible.onPressAction.
Related
- UniDeskIcon — Icon control used by the button
- UniDeskText — Text control used by the button
- UniDeskTextButton — Simplified text button
- UniDeskComboBox — Dropdown that inherits from UniDeskButton

