Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
Виджет 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 | |
Метка в стиле Plastique | |
Метка в стиле Windows XP |
См. также QLineEdit, QTextEdit, QPixmap, QMovie и GUI Design Handbook: Label.
Данное свойство содержит выравнивание содержимого метки.
Функции доступа:
См. также text.
Данное свойство содержит отступ текста от края в пикселях.
Если метка отображает текст, то отступ располагается слева, если alignment() равно Qt::AlignLeft; справа, если alignment() равно Qt::AlignRight; сверху, если alignment() равно Qt::AlignTop; снизу, если alignment() равно Qt::AlignBottom.
Если затребованное пространство отрицательно или не установлено, то метка вычисляет требуемый отступ следующим образом: Если frameWidth() равно 0, то отступ будет равен 0. Если frameWidth() больше 0, то отступ будет равен половине ширины символа "x" в текущем font() виджета.
Функции доступа:
См. также alignment, margin, frameWidth() и font().
Данное свойство содержит ширину краев.
Ширина краев - это расстояние от внутренней границы рамки до внешней границы содержимого.
По умолчанию ширина краев равна 0.
Функции доступа:
См. также indent.
Данное свойство содержит пиксельную карту метки.
Если пиксельная карта не была установлена, то возвращается пустая карта.
При установке пиксельной карты стирается все все ранее содержащееся в метке. Если было установлено горячее сочетание клавиш для дружественного элемента, оно также удаляется.
Функции доступа:
Данное свойство указывает, будет ли метка изменять масштаб содержимого для того, чтобы заполнить все доступное пространство.
Если масштабирование позволено и метка содержит пиксельную карту, то пиксельная карта будет растянута для того, чтобы заполнить все доступное пространство.
Данное свойство по умолчанию имеет значение false.
Функции доступа:
Данное свойство содержит текст метки.
Если текст не был установлен, то возвращается пустая строка. При установке текста удаляется все ранее содержащееся в метке если оно не тоже самое.
В зависимости от установок формата, текст будет интерпретирован либо как простой текст, либо как форматированный; см. setTextFormat(). По умолчанию формат установлен как Qt::AutoText, т.е. QLabel будет пытаться автоматически распознать форматирование текста.
Если текст интрепретируется как простой текст и для метки задан дружественный элемент, то мнемоническое сочетание клавиш для дружественного элемента будет установлено в соответствии с новым текстом.
Если автоматическое изменение размера позволено, то метка сама поменяет размер.
Обратите внимание, что Qlabel хорошо подходит для отображения небольших форматированных документов, т.е. таких небольших документов, для которых заданы определенные значения (шрифт, цвет текста, цвет ссылок) из палитры метки и свойств шрифта. Для отображения больших документов, используйте QTextEdit в режиме "только чтение". QTextEdit при изменении размера меньше мерцает и может предоставить полосу прокрутки, если это необходимо.
Функции доступа:
См. также setTextFormat(), setBuddy() и alignment.
Данное свойство содержит формат текста метки.
Для получения информации о доступных значениях, см. описание перечисления Qt::TextFormat.
Формат по умолчанию равен Qt::AutoText.
Функции доступа:
См. также text().
Данное свойство указывает, может ли метка переностиь текст по словам.
Если данное свойство равно true, то текст метки переносится, если необходимо, по словам; иначе не переносится вообще.
Функции доступа:
Создает пустую метку.
Аргументы родитель parent и флаги виджета f передаются в конструктор QFrame.
См. также setAlignment(), setFrameStyle() и setIndent().
Создает метку, отображающую текст text.
Аргументы родитель parent и флаги виджета f передаются в конструктор QFrame.
См. также setText(), setAlignment(), setFrameStyle() и setIndent().
Разрушает метку.
Возвращает дружественный элемент метки или, если в настоящий момент дружественный элемент не задан, то 0.
См. также setBuddy().
Удаляет содержимое метки.
Возвращает указатель на объект анимации метки или, если анимация в настоящий момент не задана, то 0.
См. также setMovie().
Возвращает картинку метки или, если в настоящий момент картинка не задана, то 0.
См. также setPicture().
Устанавливает 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().
Устанавливает в качестве содержимого метки объект анимации movie. Все, ранее содержащееся в метке, удаляется.
Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.
Если для метки позволено автоматичесткое изменение размера, то метка сама меняет свой размер.
См. также movie() и setBuddy().
Устанавливает в качестве содержимого метки простой текст, содержащий строковое представление целого числа num. Все, ранее содержащееся в метке, удаляется. Ничего не далает, если строковое представление числа, такое же, как содержащийся в метке в настоящий момент текст.
Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.
Если для метки позволено автоматичесткое изменение размера, то метка сама меняет свой размер.
См. также setText(), QString::setNum() и setBuddy().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Устанавливает в качестве содержимого метки простой текст, содержащий строковое представление числа с плавающей точкой num. Все, ранее содержащееся в метке, удаляется. Ничего не далает, если строковое представление числа, такое же, как содержащийся в метке в настоящий момент текст.
Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.
Если для метки позволено автоматичесткое изменение размера, то метка сама меняет свой размер.
См. также setText(), QString::setNum() и setBuddy().
Устанавливает в качестве содержимого метки картинку picture. Все, ранее содержащееся в метке, удаляется.
Горячее сочетание клавиш для дружественного элемента, если было установлено, удаляется.
См. также picture() и setBuddy().
Copyright © 2005 Trolltech | Trademarks | Qt 4.1.0 |