Spec-Zone.ru › Qt 5.6

Класс 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
  • 58 свойств, унаследованных от QWidget
  • 1 свойство, унаследованное от QObject

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

QLabel(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags())
QLabel(const QString &text, QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags())
~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
virtual QSize minimumSizeHint() const
virtual QSize sizeHint() const
  • 14 открытых функций, унаследованных от QFrame
  • 211 открытых функций, унаследованных от QWidget
  • 31 открытых функций, унаследованных от 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

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

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

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

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

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

Виджет 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), активация мнемоники эмулировала бы щелчок по кнопке.

Screenshot of a Macintosh style label Метка, отображаемая в стиле виджета Macintosh.
Screenshot of a Fusion style label Метка, отображаемая в стиле виджета Fusion.
Screenshot of a Windows Vista style label Метка, отображаемая в стиле виджета Windows Vista.

См. также 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" текущего шрифта виджета font().

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

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

int indent() const
void setIndent(int)

См. также alignment, 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

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

Если пиксель-карта не задана, возвращается 0.

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

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

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 для определения форматированного текста.

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

Обратите внимание, что 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 = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags())

Конструирует пустую метку.

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

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

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

Конструирует метку, отображающую текст text.

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

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

QLabel::~QLabel()

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

QWidget *QLabel::buddy() const

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

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

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

Переопределяет QWidget::changeEvent().

[slot] void QLabel::clear()

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

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

Переопределяет QWidget::contextMenuEvent().

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

Переопределяет QObject::event().

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

Переопределяет QWidget::focusInEvent().

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

Переопределяет QWidget::focusNextPrevChild().

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

Переопределяет QWidget::focusOutEvent().

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

Переопределяет QWidget::heightForWidth().

[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().

[virtual] QSize QLabel::minimumSizeHint() const

Переопределяет QWidget::minimumSizeHint().

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

Переопределяет QWidget::mouseMoveEvent().

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

Переопределяет QWidget::mousePressEvent().

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

Переопределяет QWidget::mouseReleaseEvent().

QMovie *QLabel::movie() const

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

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

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

Переопределяет QWidget::paintEvent().

const QPicture *QLabel::picture() const

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

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

int QLabel::selectionStart() const

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

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

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

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

void QLabel::setBuddy(QWidget *buddy)

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

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

Механизм компаньона доступен только для меток QLabels, содержащих текст, в котором один символ предваряется амперсандом, '&'. Этот символ устанавливается в качестве сочетания клавиш. Подробнее см. документацию по 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 в 0.

См. также 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().

[virtual] QSize QLabel::sizeHint() const

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

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

Spec-Zone.ru

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