Skip to content
Browse the docs

TelamonPage

A scrolling page with a large bold title, generous centred margins and a place for buttons at the end of the title row.

A scrolling page with a large bold title and centred margins. Items declared inside it become its content, in a column. Use it as the body of each page of an app's window.

Example

TelamonPage {
    title: qsTr("Settings")
    headerTrailing: TelamonButton { text: qsTr("Reset") }
    TelamonLabel { text: qsTr("Appearance"); textStyle: TelamonLabel.Heading }
    // ...more content
}

Properties

Name Type Default Description
content list<QtObject> (read-only) — The default property: items declared inside are placed in the page's column.
busy bool false Shows a row with a spinner and busyText above the content, under the title row. It slides in and out with TelamonStyle.duration and takes no room when false. Becoming busy announces busyText to screen readers, and so does changing busyText while busy (announced once the text has settled for a turn, so fast progress text does not flood a screen reader) (so setting busy before busyText in one turn still announces). A page created busy announces exactly once, one turn after it is created, so it does not talk over the navigation stack's announcement of its title. The spinner carries the name; the label is not read again. The content is not disabled: the app does that where it needs to. Under reduced motion the spinner is still and the row appears at once. SectionRow.busy is unchanged and covers one row. Since 1.5.0.
busyText string "" The label beside the spinner, and what is announced. Since 1.5.0.
headerTrailing list<QtObject> (read-only) — Items at the trailing end of the title row (a button, a search field). The title elides before them.
maxContentWidth real 38 grid units The widest the content grows. Writable since 1.4.0.
status int (TelamonStatus value) TelamonStatus.Ready What the view shows in place of its rows: Loading, Empty, NoResults or Error (see TelamonStatus). Since 1.5.0.
statusAction TelamonAction null One button under the explanation (Retry, Clear search, ...): its text and symbol, and trigger() when clicked. Not shown while the action is disabled. Since 1.5.0.
statusSymbol int (a Symbols.<Name> value) 0 The symbol above the heading; 0 gives the status's own (Inbox for Empty, SearchOff for NoResults, Error for Error). Since 1.5.0.
statusText string "" The explanation under the heading; plain text. Since 1.5.0.
statusTitle string per status The heading. Empty gives "Nothing here" (Empty), "No results" (NoResults) or "Something went wrong" (Error). Loading has none unless set. Since 1.5.0.
subtitle string "" One or two muted lines under the title, plain text, wrapped and elided after three lines; hidden when empty. Read by screen readers as the page's description; the title stays the only heading. Since 1.5.0.
title string "" The page's large bold title. Inside a TelamonNavigationStack whose header shows, the header carries it and the page doesn't repeat it.

Status

status swaps the rows for one of four things; Ready (the default) shows them. Loading shows a TelamonSpinner only after 300 ms, so a fast load never flashes, and announces nothing. Empty, NoResults and Error show a TelamonEmptyState with the title, text, symbol and action; Error is announced to screen readers once, when the status becomes Error (the heading and the text). The title, subtitle and busy row stay; the status fills the visible area under them (it never makes the page scroll) and replaces the page's content (the items declared inside it are hidden, not removed: everything in the page's content, a search field included, hides under a status; put what must stay in headerTrailing).

Methods

Signature Description
ensureVisible(var item) Scrolls just enough to show item, a descendant of the content. The page calls it itself when the keyboard focus moves, and skips it for a click.