Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QLabel
[модуль QtGui]

Виджет QLabel позволяет отображать текст или рисунок. Далее...

#include <QLabel>

Наследует QFrame.

Свойства

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

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

Дополнительные Унаследованные Члены


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

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

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

QLabel может содержать данные следующих типов:

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

Когда содержимое изменяется с помощью одной из этих функций, старое содержимое затирается.

Существует несколько способов настройки внешнего вида QLabel. Все настройки QFrame доступны для задания рамки виджета. Расположение содержимого внутри области виджета 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 часто используется в качестве подписи интерактивного виджета. Для подобных случаев QLabel предоставлияет полезный механизм для добавления мнемонического сочетания клавиш (см. QKeysequence), которое при активизации установит фокус клавиатуры на другой виджет (может быть задано с помощью функции QLabel "buddy"). Например:

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

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

Скриншот метки в стиле MacintoshМетка в стиле Macintosh
Скриншот метки в стиле PlastiqueМетка в стиле Plastique
Скриншот метки в стиле Windows XPМетка в стиле Windows XP

См. также QLineEdit, QTextEdit, QPixmap, QMovie и GUI Design Handbook: Label.


Описание Свойств

alignment : Qt::Alignment

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

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

См. также text.

indent : int

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

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

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

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

См. также alignment, margin, frameWidth() и font().

margin : int

Данное свойство содержит ширину краев.

Ширина краев - это расстояние от внутренней границы рамки до внешней границы содержимого.

По умолчанию ширина краев равна 0.

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

См. также indent.

pixmap : QPixmap

Данное свойство содержит пиксельную карту метки.

Если пиксельная карта не была установлена, то возвращается пустая карта.

При установке пиксельной карты стирается все все ранее содержащееся в метке. Если было установлено горячее сочетание клавиш для дружественного элемента, оно также удаляется.

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

scaledContents : bool

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

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

Данное свойство по умолчанию имеет значение false.

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

text : QString

Данное свойство содержит текст метки.

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

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

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

Если автоматическое изменение размера позволено, то метка сама поменяет размер.

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

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

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

textFormat : Qt::TextFormat

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

Для получения информации о доступных значениях, см. описание перечисления Qt::TextFormat.

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

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

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

wordWrap : bool

Данное свойство указывает, может ли метка переностиь текст по словам.

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

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


Описание Функций-Членов

QLabel::QLabel ( QWidget * parent = 0, Qt::WFlags f = 0 )

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

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

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

QLabel::QLabel ( const QString & text, QWidget * parent = 0, Qt::WFlags f = 0 )

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

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

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

QLabel::~QLabel ()

Разрушает метку.

QWidget * QLabel::buddy () const

Возвращает дружественный элемент метки или, если в настоящий момент дружественный элемент не задан, то 0.

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

void QLabel::clear ()   [slot]

Удаляет содержимое метки.

QMovie * QLabel::movie () const

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

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

const QPicture * QLabel::picture () const

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

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

void QLabel::setBuddy ( QWidget * buddy )

Устанавливает buddy в качестве дружественного элемента для метки.

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

Механизм дружественных элементов доступен только для меток содержащих простой текст, имеющих предваренную амперсандом & букву. Эта буква устанавливается в качестве горящей клавиши. Буква отображается подчеркнутой, а '&' не отображается (т.е. во флаге выравнивания установлено Qt::TextShowMnemonic; см. setAlignment()).

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

    QLineEdit *nameEd  = new QLineEdit(this);
    QLabel    *nameLb  = new QLabel("&Name:", this);
    nameLb->setBuddy(nameEd);
    QLineEdit *phoneEd = new QLineEdit(this);
    QLabel    *phoneLb = new QLabel("&Phone:", this);
    phoneLb->setBuddy(phoneEd);
    // (настойки компоновки не показаны)

В вышеприведенном коде, фокус передается полю Name, если пользователь нажимает Alt+N, и полю Phone, если пользователь нажимает Alt+P.

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

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

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

Устанавливает в качестве содержимого метки объект анимации movie. Все, ранее содержащееся в метке, удаляется.

Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.

Если для метки позволено автоматичесткое изменение размера, то метка сама меняет свой размер.

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

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

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

Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.

Если для метки позволено автоматичесткое изменение размера, то метка сама меняет свой размер.

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

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

Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.

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

Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.

Если для метки позволено автоматичесткое изменение размера, то метка сама меняет свой размер.

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

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

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

Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.

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


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz