Spec-Zone.ru › Qt 5.11

Класс QLabel

Виджет QLabel предназначен для отображения текста или изображения. Подробнее...

Заголовок: #include <QLabel>
qmake: QT += widgets
Наследуется от: QFrame
  • Список всех членов, включая наследуемые

Свойства

  • alignment : Qt::Alignment
  • hasSelectedText : const bool
  • indent : int
  • margin : int
  • openExternalLinks : bool
  • pixmap : QPixmap
  • scaledContents : bool
  • selectedText : const QString
  • text : QString
  • textFormat : Qt::TextFormat
  • textInteractionFlags : Qt::TextInteractionFlags
  • wordWrap : bool
  • 6 свойств, унаследованных от QFrame
  • 59 свойств, унаследованных от QWidget
  • 1 свойство, унаследованное от QObject

Открытые функции

QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = ...)
QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = ...)
virtual ~QLabel()
Qt::Alignment alignment() const
QWidget * buddy() const
bool hasScaledContents() const
bool hasSelectedText() const
int indent() const
int margin() const
QMovie * movie() const
bool openExternalLinks() const
const QPicture * picture() const
const QPixmap * pixmap() const
QString selectedText() const
int selectionStart() const
void setAlignment(Qt::Alignment)
void setBuddy(QWidget *buddy)
void setIndent(int)
void setMargin(int)
void setOpenExternalLinks(bool open)
void setScaledContents(bool)
void setSelection(int start, int length)
void setTextFormat(Qt::TextFormat)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
void setWordWrap(bool on)
QString text() const
Qt::TextFormat textFormat() const
Qt::TextInteractionFlags textInteractionFlags() const
bool wordWrap() const

Переопределённые открытые функции

virtual int heightForWidth(int w) const override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override
  • 14 открытых функций, унаследованных от QFrame
  • 214 открытых функций, унаследованных от QWidget
  • 34 открытых функций, унаследованных от QObject
  • 14 открытых функций, унаследованных от QPaintDevice

Открытые слоты

void clear()
void setMovie(QMovie *movie)
void setNum(int num)
void setNum(double num)
void setPicture(const QPicture &picture)
void setPixmap(const QPixmap &)
void setText(const QString &)
  • 19 открытых слотов, унаследованных от QWidget
  • 1 открытый слот, унаследованный от QObject

Сигналы

void linkActivated(const QString &link)
void linkHovered(const QString &link)
  • 3 сигнала, унаследованных от QWidget
  • 2 сигнала, унаследованных от QObject

Переопределённые защищённые функции

virtual void changeEvent(QEvent *ev) override
virtual void contextMenuEvent(QContextMenuEvent *ev) override
virtual bool event(QEvent *e) override
virtual void focusInEvent(QFocusEvent *ev) override
virtual bool focusNextPrevChild(bool next) override
virtual void focusOutEvent(QFocusEvent *ev) override
virtual void keyPressEvent(QKeyEvent *ev) override
virtual void mouseMoveEvent(QMouseEvent *ev) override
virtual void mousePressEvent(QMouseEvent *ev) override
virtual void mouseReleaseEvent(QMouseEvent *ev) override
virtual void paintEvent(QPaintEvent *) override
  • 4 защищенных функций, унаследованных от QFrame
  • 35 защищенных функций, унаследованных от QWidget
  • 9 защищенных функций, унаследованных от QObject
  • 1 защищенная функция, унаследованная от QPaintDevice

Дополнительные унаследованные члены

  • 1 общедоступная переменная, унаследованная от QObject
  • 5 статические общедоступные члены, унаследованные от QWidget
  • 10 статических общедоступных членов, унаследованных от QObject
  • 4 защищенных функций, унаследованных от QFrame
  • 35 защищенных функций, унаследованных от QWidget
  • 9 защищенных функций, унаследованных от QObject
  • 1 защищенная функция, унаследованная от QPaintDevice
  • 1 защищённый слот, унаследованный от QWidget
  • 2 защищённых переменных, унаследованных от QObject
  • 1 защищённого типа, унаследованного от QPaintDevice

Подробное описание

Виджет QLabel предназначен для отображения текста или изображения.

QLabel используется для отображения текста или изображения. Функциональность взаимодействия с пользователем не предоставляется. Визуальный вид метки может быть настроен различными способами, и она может использоваться для задания фокусной клавиши мнемоники для другого виджета.

Метка QLabel может содержать любой из следующих типов содержимого:

Содержание Установка
Обычный текст Передайте QString в setText().
Форматированный текст Передайте QString, содержащий форматированный текст, в setText().
Растровое изображение Передайте QPixmap в setPixmap().
Анимация Передайте QMovie в setMovie().
Число Передайте int или double в setNum(), который преобразует число в обычный текст.
Пустое То же, что и пустой обычный текст. Это значение по умолчанию. Устанавливается с помощью clear().

Предупреждение: При передаче QString в конструктор или вызове setText(), убедитесь, что входные данные корректны, поскольку QLabel пытается угадать, отображает ли он текст как обычный текст или форматированный текст, представляющий собой подмножество разметки HTML 4. Вы можете явно вызвать setTextFormat(), например, если ожидаете, что текст будет в простом формате, но не можете контролировать источник текста (например, при отображении данных, загруженных из Интернета).

При изменении содержимого с помощью любой из этих функций предыдущее содержимое очищается.

По умолчанию метки отображают текст и изображения, выровненные по левому краю, по вертикали по центру, где любые табуляции в отображаемом тексте автоматически расширяются. Однако внешний вид QLabel может быть изменен и доработан различными способами.

Положение содержимого в области виджета QLabel может быть настроено с помощью setAlignment() и setIndent(). Содержимое текста также может переносить строки по границам слов с помощью setWordWrap(). Например, этот код настраивает углубленную панель с текстом из двух строк в правом нижнем углу (обе строки выровнены по правому краю метки):

QLabel *label = new QLabel(this);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->setText("first line\nsecond line");
label->setAlignment(Qt::AlignBottom | Qt::AlignRight);

Свойства и функции QLabel, унаследованные от QFrame, также могут использоваться для задания рамки виджета, используемой для любой данной метки.

Метка QLabel часто используется в качестве метки для интерактивного виджета. Для этого QLabel предоставляет полезный механизм для добавления мнемоники (см. QKeySequence), которая установит фокус клавиатуры на другой виджет (называемый «другом» QLabel). Например:

QLineEdit *phoneEdit = new QLineEdit(this);
QLabel *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);

В этом примере фокус клавиатуры передаётся дружественной метке (элементу QLineEdit) при нажатии пользователя на Alt+P. Если бы дружественный элемент был кнопкой (унаследованной от QAbstractButton), запуск мнемоники эмулировал бы щелчок по кнопке.

См. также QLineEdit, QTextEdit, QPixmap, QMovie и Руководство по разработке графического интерфейса: Метка.

Документация свойств

alignment : Qt::Alignment

Это свойство содержит выравнивание содержимого метки.

По умолчанию содержимое метки выравнивается по левому краю и по вертикали по центру.

Функции доступа:

Qt::Alignment alignment() const
void setAlignment(Qt::Alignment)

См. также text.

hasSelectedText : const bool

Это свойство указывает, есть ли выделенный текст.

hasSelectedText() возвращает true если часть или весь текст был выделен пользователем; в противном случае возвращает false.

По умолчанию это свойство равно false.

Примечание: Установленные для метки textInteractionFlags должны включать TextSelectableByMouse или TextSelectableByKeyboard.

Это свойство было введено в Qt 4.7.

Функции доступа:

bool hasSelectedText() const

См. также selectedText().

indent : int

Это свойство содержит отступ текста метки в пикселях.

Если метка отображает текст, отступ применяется к левому краю, если alignment() равно Qt::AlignLeft, к правому краю, если alignment() равно Qt::AlignRight, к верхнему краю, если alignment() равно Qt::AlignTop, и к нижнему краю, если alignment() равно Qt::AlignBottom.

Если отступ отрицательный или не задан, метка вычисляет эффективный отступ следующим образом: Если frameWidth() равно 0, эффективный отступ становится 0. Если frameWidth() больше 0, эффективный отступ становится половиной ширины символа "x" текущего шрифта виджета.

По умолчанию отступ равен -1, что означает, что эффективный отступ рассчитывается описанным выше способом.

Функции доступа:

int indent() const
void setIndent(int)

См. также выравнивание, margin, frameWidth() и font().

margin : int

Это свойство содержит ширину отступа.

Отступ — это расстояние между самым внутренним пикселем рамки и самым внешним пикселем содержимого.

По умолчанию отступ равен 0.

Функции доступа:

int margin() const
void setMargin(int)

См. также indent.

openExternalLinks : bool

Указывает, должен ли QLabel автоматически открывать ссылки с помощью QDesktopServices::openUrl() вместо вызова сигнала linkActivated().

Примечание: Установленные для метки textInteractionFlags должны включать либо LinksAccessibleByMouse, либо LinksAccessibleByKeyboard.

Значение по умолчанию — false.

Это свойство было введено в Qt 4.2.

Функции доступа:

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

См. также textInteractionFlags().

pixmap : QPixmap

Это свойство содержит пикчер метки.

Если пикчер не задан, будет возвращен nullptr.

Установка пикчера очищает любое предыдущее содержимое. Сокращение "buddy", если оно было, отключается.

Функции доступа:

const QPixmap * pixmap() const
void setPixmap(const QPixmap &)

scaledContents : bool

Это свойство указывает, будет ли метка масштабировать содержимое для заполнения всего доступного места.

При включении и отображении пикчера метка будет масштабировать пикчер для заполнения доступного места.

Значение по умолчанию для этого свойства — false.

Функции доступа:

bool hasScaledContents() const
void setScaledContents(bool)

selectedText : const QString

Это свойство содержит выделенный текст.

Если выделенного текста нет, значение этого свойства — пустая строка.

По умолчанию это свойство содержит пустую строку.

Примечание: Установленные для метки textInteractionFlags должны включать либо TextSelectableByMouse, либо TextSelectableByKeyboard.

Это свойство было введено в Qt 4.7.

Функции доступа:

QString selectedText() const

См. также hasSelectedText().

text : QString

Это свойство содержит текст метки.

Если текст не задан, возвращается пустая строка. Установка текста очищает любое предыдущее содержимое.

Текст интерпретируется либо как обычный, либо как форматированный текст в зависимости от настройки формата текста; см. setTextFormat(). Значение по умолчанию — Qt::AutoText; т. е. QLabel попытается определить формат установленного текста. См. Поддержка подмножества HTML для определения форматированного текста.

Если установлен "buddy", ключевая комбинация "buddy" обновляется из нового текста.

Обратите внимание, что QLabel подходит для отображения небольших форматированных текстовых документов, таких как небольшие документы, которые получают свои настройки документа (шрифт, цвет текста, цвет ссылок) из палитры и свойств шрифта метки. Для больших документов используйте QTextEdit в режиме только для чтения. QTextEdit также может отображать полосу прокрутки при необходимости.

Примечание: Эта функция активирует отслеживание мыши, если text содержит форматированный текст.

Функции доступа:

QString text() const
void setText(const QString &)

См. также setTextFormat(), setBuddy() и alignment.

textFormat : Qt::TextFormat

Это свойство содержит формат текста метки.

См. перечисление Qt::TextFormat для объяснения возможных вариантов.

Формат по умолчанию — Qt::AutoText.

Функции доступа:

Qt::TextFormat textFormat() const
void setTextFormat(Qt::TextFormat)

См. также text().

textInteractionFlags : Qt::TextInteractionFlags

Определяет, как метка должна взаимодействовать с пользовательским вводом, если она отображает текст.

Если флаги содержат Qt::LinksAccessibleByKeyboard, политика фокуса также автоматически устанавливается в Qt::StrongFocus. Если установлен Qt::TextSelectableByKeyboard, политика фокуса устанавливается в Qt::ClickFocus.

Значение по умолчанию — Qt::LinksAccessibleByMouse.

Это свойство было введено в Qt 4.2.

Функции доступа:

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)

wordWrap : bool

Это свойство задаёт политику перевода текста в метке.

Если это свойство равно true, то текст метки будет переноситься на следующую строку при необходимости в местах разрывов слов; в противном случае он вообще не будет переноситься.

По умолчанию перенос слов отключён.

Функции доступа:

bool wordWrap() const
void setWordWrap(bool on)

См. также text.

Документация по членам-функциям

QLabel::QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = ...)

Создаёт пустую метку.

Аргументы parent и флаги виджета f передаются конструктору QFrame.

См. также setAlignment(), setFrameStyle() и setIndent().

QLabel::QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = ...)

Создаёт метку, отображающую текст text.

Аргументы parent и флаги виджета f передаются конструктору QFrame.

См. также setText(), setAlignment(), setFrameStyle() и setIndent().

[virtual] QLabel::~QLabel()

Удаляет метку.

QWidget *QLabel::buddy() const

Возвращает виджет-компаньон этой метки или nullptr, если компаньон не задан.

См. также setBuddy().

[override virtual protected] void QLabel::changeEvent(QEvent *ev)

Переопределено из QFrame::changeEvent().

[slot] void QLabel::clear()

Очищает содержимое метки.

[override virtual protected] void QLabel::contextMenuEvent(QContextMenuEvent *ev)

Переопределено из QWidget::contextMenuEvent().

[override virtual protected] bool QLabel::event(QEvent *e)

Переопределено из QFrame::event().

[override virtual protected] void QLabel::focusInEvent(QFocusEvent *ev)

Переопределено из QWidget::focusInEvent().

[override virtual protected] bool QLabel::focusNextPrevChild(bool next)

Переопределено из QWidget::focusNextPrevChild().

[override virtual protected] void QLabel::focusOutEvent(QFocusEvent *ev)

Переопределено из QWidget::focusOutEvent().

[override virtual] int QLabel::heightForWidth(int w) const

Переопределено из QWidget::heightForWidth().

[override virtual protected] void QLabel::keyPressEvent(QKeyEvent *ev)

Переопределено из QWidget::keyPressEvent().

[signal] void QLabel::linkActivated(const QString &link)

Этот сигнал испускается, когда пользователь нажимает на ссылку. URL, на который ссылается якорь, передаётся в link.

Эта функция была добавлена в Qt 4.2.

См. также linkHovered().

[signal] void QLabel::linkHovered(const QString &link)

Этот сигнал испускается, когда пользователь наводит курсор на ссылку. URL, на который ссылается якорь, передаётся в link.

Эта функция была добавлена в Qt 4.2.

См. также linkActivated().

[override virtual] QSize QLabel::minimumSizeHint() const

Переопределено из QWidget::minimumSizeHint().

[override virtual protected] void QLabel::mouseMoveEvent(QMouseEvent *ev)

Переопределено из QWidget::mouseMoveEvent().

[override virtual protected] void QLabel::mousePressEvent(QMouseEvent *ev)

Переопределено из QWidget::mousePressEvent().

[override virtual protected] void QLabel::mouseReleaseEvent(QMouseEvent *ev)

Переопределено из QWidget::mouseReleaseEvent().

QMovie *QLabel::movie() const

Возвращает указатель на анимацию метки или nullptr, если анимация не задана.

См. также setMovie().

[override virtual protected] void QLabel::paintEvent(QPaintEvent *)

Переопределено из QFrame::paintEvent().

const QPicture *QLabel::picture() const

Возвращает изображение метки или nullptr, если изображение не задано.

См. также setPicture().

int QLabel::selectionStart() const

selectionStart() возвращает индекс первой выделенной буквы в метке или -1, если текст не выделен.

Примечание: Флаги textInteractionFlags метки должны включать TextSelectableByMouse или TextSelectableByKeyboard.

Эта функция была добавлена в Qt 4.7.

См. также selectedText().

void QLabel::setBuddy(QWidget *buddy)

Устанавливает виджет-компаньон метки в buddy.

При нажатии пользователем комбинации клавиш, указанной меткой, фокус клавиатуры передаётся виджету-компаньону.

Механизм компаньона доступен только для меток, содержащих текст, в котором один символ предваряется амперсандом, '&'. Этот символ задаёт сочетание клавиш. Подробнее см. документацию QKeySequence::mnemonic() (чтобы отобразить фактический амперсанд, используйте '&&').

В диалоговом окне можно создать два поля ввода данных и по метке для каждого, а затем разместить их так, чтобы каждая метка находилась слева от соответствующего поля ввода данных (своего "компаньона"), например:

QLineEdit *nameEdit  = new QLineEdit(this);
QLabel    *nameLabel = new QLabel("&Name:", this);
nameLabel->setBuddy(nameEdit);
QLineEdit *phoneEdit  = new QLineEdit(this);
QLabel    *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);
// (layout setup not shown)

В приведенном коде фокус переходит к полю "Имя" при нажатии Alt+N, а к полю "Телефон" при нажатии Alt+P.

Чтобы сбросить ранее установленного компаньона, вызовите эту функцию с buddy, установленным в nullptr.

См. также buddy(), setText(), QShortcut и setAlignment().

[slot] void QLabel::setMovie(QMovie *movie)

Устанавливает содержимое метки в movie. Предыдущее содержимое очищается. Метка НЕ берёт во владение анимацию.

Сочетание клавиш компаньона, если таковое имеется, отключается.

См. также movie() и setBuddy().

[slot] void QLabel::setNum(int num)

Устанавливает содержимое метки в простой текст, содержащий строковое представление целого числа num. Предыдущее содержимое очищается. Не делает ничего, если строковое представление целого числа такое же, как текущее содержимое метки.

Сочетание клавиш компаньона, если таковое имеется, отключается.

См. также setText(), QString::setNum() и setBuddy().

[slot] void QLabel::setNum(double num)

Это перегруженная функция.

Устанавливает содержимое метки в простой текст, содержащий строковое представление двойного значения num. Предыдущее содержимое очищается. Не делает ничего, если строковое представление двойного значения такое же, как текущее содержимое метки.

Сочетание клавиш компаньона, если таковое имеется, отключается.

См. также setText(), QString::setNum() и setBuddy().

[slot] void QLabel::setPicture(const QPicture &picture)

Устанавливает содержимое метки в picture. Предыдущее содержимое очищается.

Сочетание клавиш компаньона, если таковое имеется, отключается.

См. также picture() и setBuddy().

void QLabel::setSelection(int start, int length)

Выделяет текст с позиции start и длиной length символов.

Примечание: Значение textInteractionFlags метки должно включать либо TextSelectableByMouse, либо TextSelectableByKeyboard.

Эта функция была добавлена в Qt 4.7.

См. также selectedText().

[override virtual] QSize QLabel::sizeHint() const

Переопределяет QFrame::sizeHint().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qlabel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API